Re: [問題] Thread with JFileChooser
: 我寫了個Swing的介面, 有個JButton在接收click的event之後,
: 會使用Thread開啟JFileChooser, 但始終開不起來Orz...
: 只是停用Thread後, 就可以了@@...
我 JFileChooser 開的起來
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.JOptionPane;
public class TestDrive extends JFrame{
private JButton jButton1 = new JButton("Button");
public static void main(String[] args) {
new TestDrive().setVisible(true);
}
public TestDrive() {
setSize(640, 480);
getContentPane().add(jButton1);
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
Thread t = new Thread() {
public void run() {
open();
}
};
t.start();
}
});
}
public void open() {
JFileChooser chooser =new JFileChooser(".");
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
chooser.setMultiSelectionEnabled(true); //only choose file(s)
int result = chooser.showOpenDialog(this);
System.out.println(result);
if (result == JFileChooser.APPROVE_OPTION) {
try {
for(File x:chooser.getSelectedFiles()) {
showChoose(x);
}
}
catch (Exception e) { }
}
}
private void showChoose(File x) {
JOptionPane.showMessageDialog(null, x);
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.247.13
推
04/02 14:03, , 1F
04/02 14:03, 1F
→
04/02 14:04, , 2F
04/02 14:04, 2F
推
04/02 14:25, , 3F
04/02 14:25, 3F
→
04/02 14:28, , 4F
04/02 14:28, 4F
推
04/02 14:32, , 5F
04/02 14:32, 5F
→
04/02 14:33, , 6F
04/02 14:33, 6F
推
04/02 14:48, , 7F
04/02 14:48, 7F
推
04/02 15:13, , 8F
04/02 15:13, 8F
推
04/03 10:02, , 9F
04/03 10:02, 9F
推
04/03 13:22, , 10F
04/03 13:22, 10F
推
04/03 16:09, , 11F
04/03 16:09, 11F
→
04/03 16:11, , 12F
04/03 16:11, 12F
推
04/03 16:57, , 13F
04/03 16:57, 13F
→
04/03 16:58, , 14F
04/03 16:58, 14F
→
04/03 16:59, , 15F
04/03 16:59, 15F
推
04/03 17:10, , 16F
04/03 17:10, 16F
推
04/03 17:35, , 17F
04/03 17:35, 17F
→
04/03 17:36, , 18F
04/03 17:36, 18F
推
04/03 19:36, , 19F
04/03 19:36, 19F
→
04/03 19:37, , 20F
04/03 19:37, 20F