我有一段java代码,请教怎样写才能实现自动关闭这个窗口

主要目的是通过一个选择程序的对话框来选择一个文件的路径,然后把这个路径传到后台去(只传路径,不用考虑打开文件的问题).现在当选择完路径后,路径被自动传到了后台,可是我想要同时自动关闭掉那个JFrame但不关闭整个程序(因为有后台的处理),请问关闭代码应该怎么写,写在什么地方??代码如下:

package ft;

import java.awt.FileDialog;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;

public class MyTest extends JFrame implements ActionListener{
JButton jbtn = null;
JTextField jtf = null;
public MyTest(){
this.setLayout(new FlowLayout());
jbtn = new JButton("打开..");
jbtn.addActionListener(this);
jtf = new JTextField(30);
this.add(jtf);
this.add(jbtn);

    this.setSize(400,400);
    this.setVisible(true);
    this.pack();
}
public void actionPerformed(ActionEvent e) {
    if(e.getSource().equals(jbtn)){
    FileDialog fd = new FileDialog(this);
    fd.setVisible(true);


    String a = fd.getDirectory()+fd.getFile();
    System.out.println(a);

    //System.exit(0); 
    }
}
public static void main(String[] args){
    new MyTest();

}

}

2个回答

public void actionPerformed(ActionEvent e) {
    if (e.getSource().equals(jbtn)) {
        FileDialog fd = new FileDialog(this);
        fd.setVisible(true);

        String a = fd.getDirectory() + fd.getFile();
        System.out.println(a);

        [color=red]this.setVisible(false);[/color]

        // System.exit(0);

    }
}

两个方式处理:
1. 和楼上方式一样,不要关闭先隐藏起来,处理完成了再来关闭窗口.
2. 启动一个独立的线程执行你的处理部分,窗口就没必要保存了,直接干掉就可以了.
个人见解,仅供参考.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐