📄 jfilechooserdemo.java
字号:
package chapter11;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.filechooser.FileFilter;
import java.io.File;
import java.awt.*;
import java.awt.event.*;
public class JFileChooserDemo extends JFrame implements ActionListener {
private JLabel jlb;
private FileChooserEx jfc;
public JFileChooserDemo() {
jlb = new JLabel();
jfc = new FileChooserEx(jlb);
TestFileFilter filter = new TestFileFilter();
jfc.addChoosableFileFilter(filter);
JButton jbt = new JButton("打开");
jbt.addActionListener(this);
getContentPane().add(jlb, BorderLayout.CENTER);
getContentPane().add(jbt, BorderLayout.NORTH);
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
jfc.showOpenDialog(this);
}
public static void main(String[] args) {
JFileChooserDemo test = new JFileChooserDemo();
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
test.setSize(300, 300);
test.setVisible(true);
}
}
class FileChooserEx extends JFileChooser {
private JLabel jlb;
public FileChooserEx(JLabel lb) {
jlb = lb;
}
public void approveSelection() {
jlb.setText("您打开了: " + getSelectedFile().getAbsolutePath());
getTopLevelAncestor().setVisible(false);
}
}
class TestFileFilter extends FileFilter {
public boolean accept(File f) {
return (f.isDirectory() || f.getName().endsWith(".txt"));
}
public String getDescription() {
return ("Text files (*.txt)");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -