a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 106|回复: 1

[JAVA] 2012年计算机二级Java基础之对话框学习教程(3)

[复制链接]
发表于 2012-7-31 22:04:26 | 显示全部楼层 |阅读模式
8.6.2 JFileChooser 文件对话框   JFileChooser表示文件对话框,常用来弹出“打开”、“保存”后其他自定标题的文件对话框,并可爱对话框中进行文件选择。1 R+ g0 R  k- {! l
  JFileChooser类提供了6个构造方法用于创建JFileChooser类对象,常用的有3个,详见下表。* K8 W+ ?+ r- g- z
  表8-16 JFileChooser常用构造方法
4 f6 l3 M4 X: o6 U' q$ B  Q  构造方法1 ?9 D2 l) y$ L+ r$ J
  说明
5 S. `( H( ]. |  JFileChooser()
3 w7 s+ i$ @: g& y/ Q' C6 q) ?) T  构造一个指向用户默认目录的 JFileChooser。
' m3 c% |5 r6 g+ i* p* N2 y  JFileChooser(String currentDirectoryPath)
; I% W; k: r, |% {' \- r  a, _  构造一个使用给定路径的 JFileChooser。
$ f  S1 j" o% y6 r; F5 A) g, d  JFileChooser(File currentDirectory)3 ~" T7 Y/ I9 K$ T
  使用给定的 File 作为路径来构造一个 JFileChooser
) y6 s: c$ Y! H$ M5 T& q. f$ p% |  此默认目录取决于操作系统。在 Windows 上通常是“我的文档”,在 Unix 上是用户的主目录。
$ `, X3 a5 \' [1 t# Y6 v! N  无参构造方法创建的JFileChooser类对象,其默认目录默认目录取决于操作系统。在 Windows 上通常是“我的文档”,在 Unix 上是用户的主目录。
' p4 {4 z2 A3 O7 K$ X  另外两个构造方法,虽然传递参数的类型不同,但均指某个目录。若参数传递时传入“null”,则相当于使用“JFileChooser()”创建JFileChooser类对象。5 P; i( Z. m# g, a
  JFileChooser类中常用方法如下表。$ r2 _' Z7 p/ M# v" C
  表8-17 JFileChooser常用方法
' }/ F6 I5 P9 c- W9 r  成员方法
9 d4 e6 t( S* Y- M5 c. H  说明' J& }: g" P7 @" a" @7 b
  int showOpenDialog(Component parent)
0 w& _% J$ O  t% T/ \, }* w" N. r  弹出一个 "Open File" 文件选择器对话框+ k- c) W+ U! _/ m" W* [7 k  ~
  int showSaveDialog(Component parent) 弹出一个 "Save File" 文件选择器对话框
" B' D% u) t! Y  showDialog(Component parent,                      String approveButtonText) 弹出具有自定义 approve 按钮的自定义文件选择器对话框) N* ]9 u% H) A2 F. r
  File getSelectedFile()
2 h% E! X! @; l+ f/ y  返回选中的文件  P' ^* U* b$ J2 ^# T! B
  对于showOpenDialog等显示对话框的方法将返回一个整数,可能取值情况是:
% V% t# p4 }4 t9 Z+ F$ D  JFileChooser.CANCEL_OPTION —按取消键退出对话框,无文件选取
+ m' L1 K, o4 b7 ?# S  JFileChooser.APPROVE_OPTION —正常选取文件8 t1 S& r6 D0 b9 e" G5 e
  JFileChooser.ERROR_OPTION —发生错误或者该对话框已被解除而退出对话框0 m& ^0 U( B* x
  所以在文件选取对话框交互结束后,应进行判断,是否从对话框中选取了文件,然后根据返回值情况进行处理。
! f; n( R, b6 V6 ^# I' _  例8-12演示了JFileChooser类的showOpenDialog方法的使用,JFileChooser一般用于可视化的文件读取及保存,本例只是将读取的文件名显示出来,对于进一步的文件读取及保存工作读者可在学习了I/O流后完善本实例。
8 y! d; \( s, d) u9 T  [例8-12]; a! `+ T& z# s- x8 B3 u( r
  import java.awt.*;. `- P! U$ K8 E* H- D  H, C! A
  import javax.swing.*;
' J6 o0 P+ v& w; R  import java.awt.event.*;
" x4 S! c- A* B  class JFileChooserTest extends JFrame{  S/ u) _7 q% U1 l: F6 k
  private JLabel label = new JLabel("所选文件路径:");
, x/ B* B, q- Q% N% p) s  private JTextField tfFileName = new JTextField(25);! I, ]" H9 b$ m; s# i8 y1 A, e* y
  private JButton btnOpen = new JButton("浏览");( d  J6 I% K4 s# q8 L# z
  public JFileChooserTest(String title){
& [4 O3 x, l2 S: ^, x" t  super(title);* M2 Z, g7 L# ]* z! I6 D$ T' ~! r; u) C' }
  Container contentPane = this.getContentPane();
" U) i) b4 I: Y+ C6 N/ ~, j  contentPane.setLayout(new FlowLayout(5));
+ }( x. M2 T9 V! h  contentPane.add(label);
, g- M+ A) Q8 X  contentPane.add(tfFileName);) n/ K2 T3 y# C5 d. F4 \3 q6 f
  contentPane.add(btnOpen);, o% V* {, t$ b8 l
  pack();
2 u3 }! N. L8 J  setVisible(true);
, Y( n  ]2 ?5 l1 G) {# b" L  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);. n" z  Y& D+ U3 o; ?
  //监听btnOpen按钮
9 R: m! n) F/ P( W+ d1 M: ~  btnOpen.addActionListener(new MyActionListener());* H6 |7 p' Q6 ]/ u7 r& H7 b( t
  }
- ?4 Q3 x/ _& J0 |6 e  g- s9 L5 F3 @  
回复

使用道具 举报

 楼主| 发表于 2012-7-31 22:04:27 | 显示全部楼层

2012年计算机二级Java基础之对话框学习教程(3)

//Action事件处理</p>  private class MyActionListener implements ActionListener{* O& \* k% R! L' x0 k! ~) @
  public void actionPerformed(ActionEvent arg0) {2 z5 C3 a0 J/ {0 U
  JFileChooser fc = new JFileChooser("D:\\javaPro");: a3 q; @2 J# f/ ?
  int val = fc.showOpenDialog(null);//文件打开对话框7 u( o4 U4 j& X
  if(val==fc.APPROVE_OPTION){//正常选择文件
( f1 S% @2 q$ P: A9 ~  tfFileName.setText(fc.getSelectedFile().toString());& e1 A- D6 H' i7 M& T7 l5 r- z$ a: ]
  }
7 U( V! b: `# ]7 n' L! \  else{//未正常选择文件,如选择取消按钮: d. O  f$ E: }- x# Z
  tfFileName.setText("未选取文件");
7 }4 ~% P- V$ c3 D! j  }
. t" Y8 s- c$ |* @) i4 @0 o: B. u. c  }
2 R" T0 s: g' L& V  }3 \1 n# Q" m9 |4 _& Z6 ]
  }6 Q( v/ a7 }7 n+ y" o
  public class Test8_12 {
6 E  u8 ]( I9 Z8 Z& \1 n) j9 l  public static void main(String[] args) {8 ?  Y- y4 _# @" e  o2 u
  new JFileChooserTest("JFileChooser测试");
0 X9 I) E" X" ^7 N: u# n$ }/ Z  }$ Z- a) _+ H0 E5 N
  }
! l2 _9 d5 r; W6 K6 v; k7 i  程序运行结果。- j9 m- w4 W( d' t5 `( i
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-3 05:11 , Processed in 0.168271 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表