JFileChooser對話框演示代碼如下所示:
publicclassBWFimplementsActionListener{
JFramef=null;
JLabellabel=null;
JTextAreatextArea=null;
JFileChooserfileChooser;
publicBWF() {
f=newJFrame("博為峰教育");
ContainercontentPane=f.getContentPane();
textArea=newJTextArea();
JScrollPanescrollPane=newJScrollPane(textArea);
scrollPane.setPreferredSize(newDimension(350, 300));
JPanelpanel=newJPanel();
JButtonb1=newJButton("新建文件");
b1.addActionListener(this);
JButtonb2=newJButton("退出文件");
b2.addActionListener(this);
panel.add(b1);
panel.add(b2);
label=newJLabel("",JLabel.CENTER);
//建立一個FileChooser對象装黑,指定D盤目錄為默認(rèn)文件對話框路徑
fileChooser=newJFileChooser("D:\\");
contentPane.add(label,BorderLayout.NORTH);
contentPane.add(scrollPane,BorderLayout.CENTER);
contentPane.add(panel,BorderLayout.SOUTH);
f.pack();
f.setVisible(true);
f.addWindowListener(newWindowAdapter() {
@Override
publicvoidwindowClosing(WindowEvente) {
System.exit(0);
}
});
}
publicstaticvoidmain(String[]args) {
newBWF();
}
@Override
publicvoidactionPerformed(ActionEvente) {
Filefile=null;
intresult;
if(e.getActionCommand().equals("新建文件")){
fileChooser.setApproveButtonText("確定");
fileChooser.setDialogTitle("打開文件");
result=fileChooser.showOpenDialog(f);
textArea.setText("");
if(result==JFileChooser.APPROVE_OPTION){
file=fileChooser.getSelectedFile();
label.setText("你打開的文件名為:"+file.getName());
}
elseif(result==JFileChooser.CANCEL_OPTION){
label.setText("你沒有選擇任何文件");
}
FileInputStreamfileInputStream=null;
if(file!=null){
try{
fileInputStream=newFileInputStream(file);
}catch(Exceptione1){
label.setText("沒找到文件");
return;
}
Stringreadbyte=null;
try{
BufferedReaderbr=newBufferedReader(newInputStreamReader(fileInputStream));
while((readbyte=br.readLine())!=null){
textArea.setLineWrap(true);
textArea.append(String.valueOf(readbyte));
}
}catch(Exceptione1){
label.setText("讀取文件錯誤");
}finally{
try{
if(fileInputStream!=null){
fileInputStream.close();
}
}catch(Exceptione1){
}
}
}
}
}
}