import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;public class ExampleFrame_09 extends JFrame { private JTextField textField; public static void main(String args[]) {
ExampleFrame_09 frame = new ExampleFrame_09();
frame.setVisible(true);
} public ExampleFrame_09() {
super();
setTitle("文件选择对话框");
setBounds(100, 100, 500, 375);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final JPanel panel = new JPanel();
getContentPane().add(panel, BorderLayout.NORTH); final JLabel label = new JLabel();
label.setText("文件:");
panel.add(label); textField = new JTextField();
textField.setColumns(20);
panel.add(textField); final JButton button = new JButton();
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser fileChooser = new JFileChooser();
int i = fileChooser.showOpenDialog(ExampleFrame_09.this);
if (i == JFileChooser.APPROVE_OPTION) {
File selectedFile = fileChooser.getSelectedFile();
textField.setText(selectedFile.getName());
}
}
});
button.setText("上传");
panel.add(button);
//
}
}int i = fileChooser.showOpenDialog(ExampleFrame_09.this);43行,这句,如果改成
int i = fileChooser.showOpenDialog(this);为何就不对了?this不就是ExampleFrame_09的引用吗?和上面不是一个效果?java基础this
解决方案 »
- 求一个正则表达式
- 如何下载 《深入java虚拟机第二版》的applet
- 关于String的引用传递的问题,求指教!!!
- java执行cmd命令的基础问题
- 我如果确定每次传入的是不是同一类型
- AWT, 如何重画MenuItem? 找了半天没找到哪个类有 paint方法.
- 初学者请教怎么培养编程思想
- TreeSet加了判断还是有重复元素
- UML(Unified Modeling Language)是什么语言?它与面向对象语言有什么联系吗?
- 菜鸟以前学过delphi,现在想学jbuilder,下载了一个jbuilder4.0用了一下,不知怎么生成exe,如果不生成exe,那开发出的东西怎么用啊?不要
- SQL 多行子查询的问题
- JBPM开发模式的自我分析
fileChooser.showOpenDialog(ExampleFrame_09.this);才指的是ExampleFrame_09。
public void actionPerformed(ActionEvent e) {
JFileChooser fileChooser = new JFileChooser();
int i = fileChooser.showOpenDialog(ExampleFrame_09.this);
if (i == JFileChooser.APPROVE_OPTION) {
File selectedFile = fileChooser.getSelectedFile();
textField.setText(selectedFile.getName());
}
}
});虽然这个类没有名字,但是也是实现了new ActionListener()接口的一个类,因为没有名,就叫匿名内部类。。
这里的this指的是这个类。