先贴代码:import java.awt.FlowLayout;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.SwingUtilities;public class TestSwing extends JFrame { private JButton btn;
private JProgressBar bar; /**
* @param args
*/
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
TestSwing thisClass = new TestSwing();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
} /**
* This is the default constructor
*/
public TestSwing() {
super();
this.setSize(200, 100);
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
btn = new JButton("haha");
btn.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
bar.setVisible(true);
try {
SwingUtilities.invokeLater(new Thread() {
public void run() {
try {
Thread.sleep(2000);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
}
});
} catch (Exception e1) {
e1.printStackTrace();
}
//在这里关闭窗口
}
});
bar = new JProgressBar();
bar.setIndeterminate(true);
bar.setVisible(false);
panel.add(btn);
panel.add(bar);
this.setContentPane(panel);
}}我希望一点击按钮 进度条就显示而且中间的方块来回移动 但是目前是2秒后才会来回移动 而且我希望2秒后整个窗口关闭(不是System.exit(0);) 望亲们帮忙,多谢了!
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.SwingUtilities;public class TestSwing extends JFrame { private JButton btn;
private JProgressBar bar; /**
* @param args
*/
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
TestSwing thisClass = new TestSwing();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
} /**
* This is the default constructor
*/
public TestSwing() {
super();
this.setSize(200, 100);
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
btn = new JButton("haha");
btn.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
bar.setVisible(true);
try {
SwingUtilities.invokeLater(new Thread() {
public void run() {
try {
Thread.sleep(2000);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
}
});
} catch (Exception e1) {
e1.printStackTrace();
}
//在这里关闭窗口
}
});
bar = new JProgressBar();
bar.setIndeterminate(true);
bar.setVisible(false);
panel.add(btn);
panel.add(bar);
this.setContentPane(panel);
}}我希望一点击按钮 进度条就显示而且中间的方块来回移动 但是目前是2秒后才会来回移动 而且我希望2秒后整个窗口关闭(不是System.exit(0);) 望亲们帮忙,多谢了!
import java.awt.FlowLayout;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.SwingUtilities;public class TestSwing extends JFrame { private JButton btn;
private JProgressBar bar; /**
* @param args
*/
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
TestSwing thisClass = new TestSwing();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
} /**
* This is the default constructor
*/
public TestSwing() {
super();
this.setSize(200, 100);
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
btn = new JButton("haha");
btn.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
bar.setVisible(true);
new Thread() {
public void run() {
try {
Thread.sleep(2000);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
}
}.start();
//在这里关闭窗口
}
});
bar = new JProgressBar();
bar.setIndeterminate(true);
bar.setVisible(false);
panel.add(btn);
panel.add(bar);
this.setContentPane(panel);
}}这样可以立即动,但是不用System.exit关闭不会……
public void actionPerformed(java.awt.event.ActionEvent e) {
bar.setVisible(true);
try {
(new Thread() {
public void run() {
try {
Thread.sleep(2000);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
Test.this.setVisible(false);
}
}).start();
} catch (Exception e1) {
e1.printStackTrace();
}
}
});