在我的swings Windows应用程序中,单击“运行”按钮后,将执行某些操作。如果在操作仍在进行时试图关闭窗口,则关闭操作无效。完成过程执行后,仅关闭窗口操作起作用。否则它将不会响应关闭操作。
我已经尝试过以下提到的代码。但那并没有停止工作
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
or
System.exit(1);
or
setDefaultCloseOperation(EXIT_ON_CLOSE);
or
setDefaultCloseOperation(3);
or
dispose();
}
});
JButton jb = new JButton("Run");
add(jb);
jb.setBounds(10, 30, 100, 30);
setSize(150,150);
setLayout(null);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
jb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e)
{
// some operations . For Example here i'm add 1E5 data,s in my collection object. again i will replace data's places of each element.
for(int i=0;i<1E5;i++)
{
ll.add(i);
}
for(int i=0;i<1E5;i++)
{
ll.add(1,i);
}
for(int i=0;i<1E5;i++)
{
ll.add(0,i);
}
System.out.println(ll);
}
});
如果我单击关闭按钮,则我的窗口将终止当前执行的进程并关闭该窗口。
答案 0 :(得分:0)
class MyThread extends Thread {
public void run() {
// some operations . For Example here i'm add 1E5 data,s in my collection object
..
..
}
}
然后在JButton actionlistener上的actionPerformed方法中,仅启动线程:
public void actionPerformed(ActionEvent e) {
new MyThread().start();
}