import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class Jfilechooser extends JFrame implements ActionListener
{
//===================================================
JButton button;
JTextArea text;
JTextPane textpane;
FileInputStream readfile;
JScrollPane scroll;
Container con;
JFileChooser chooser=new JFileChooser();
//==========================================
public Jfilechooser()
{
super("有文件選擇器的窗口");
button=new JButton("打開文件選擇器");
button.addActionListener(this);
textpane=new JTextPane();
scroll=new JScrollPane(textpane);
setSize( new Dimension(400,400));
setVisible(true);
con=getContentPane();
con.add(button,BorderLayout.NORTH);
con.add(scroll,BorderLayout.CENTER);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();System.exit(0);}});
}
//====================================================
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==button)
{
String s;
int state =chooser.showOpenDialog(null);
File file=chooser.getSelectedFile();
if( file != null && state==JFileChooser.APPROVE_OPTION)
{
try{
readfile=new FileInputStream(file);
textpane.read(readfile,this);
}
catch(IOException e1)
{
e1.printStackTrace();
}
}
}
}
//======================================================
}
--------------------------------------------------------------------------------------------------
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
class Jfilechooser extends JFrame implements ActionListener
{
//===================================================
JButton button;
JTextArea text;
JTextPane textpane;
FileInputStream readfile;
JScrollPane scroll;
JFileChooser chooser=new JFileChooser();
JPanel con;
//==========================================
public Jfilechooser()
{
super("有文件選擇器的窗口");
button=new JButton("打開文件選擇器");
button.addActionListener(this);
textpane=new JTextPane();
scroll=new JScrollPane(textpane);
//setSize( new Dimension(400,400));
//setVisible(true);
con=(JPanel)this.getContentPane();
con.add(button,BorderLayout.NORTH);
con.add(scroll,BorderLayout.CENTER);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();System.exit(0);}});
}
//====================================================
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==button)
{
String s;
int state =chooser.showOpenDialog(null);
File file=chooser.getSelectedFile();
if( file != null && state==JFileChooser.APPROVE_OPTION)
{
try{
readfile=new FileInputStream(file);
textpane.read(readfile,this);
}
catch(IOException e1)
{
e1.printStackTrace();
}
}
}
}
//======================================================
}
public class mywindow
{
public static void main(String args[])
{
Jfilechooser win=new Jfilechooser();
win.setSize( new Dimension(400,400));
win.pack();
win.validate();
win.show();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = win.getSize();
if (frameSize.height > screenSize.height)
{
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
win.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
}
}
=============================================================
注意:
====
====
chooser對象不能在構造函數中初始化!
應該在成員變量中初始化:
JFileChooser chooser=new JFileChooser();
大家可以編譯測試!可以討論!因為處理方法有多種!