java jbutton 禁用_java-禁用后对jButton执行的操作
我有使用Swing的示例代碼.
package playerlist;
import java.awt.FlowLayout;
import javax.swing.*;
import java.awt.event.*;
public class Sample extends JFrame{
private JButton button1;
private JButton button2;
public Sample(){
super();
setTitle("Sample JFrame");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
button1 = new JButton("Button 1");
button2 = new JButton("Button 2");
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
button1ActionPerformed(e);
}
});
button2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
button2ActionPerformed(e);
}
});
setLayout(new FlowLayout());
add(button1);
add(button2);
pack();
}
private void button1ActionPerformed(ActionEvent ae){
button1.setEnabled(false);
button2.setEnabled(false);
try{
Thread.sleep(5000);
}catch(Exception e){
}
System.out.println("*** Button 1 Clicked ***");
button1.setEnabled(true);
button2.setEnabled(true);
}
private void button2ActionPerformed(ActionEvent ae){
button1.setEnabled(false);
button2.setEnabled(false);
try{
Thread.sleep(5000);
}catch(Exception e){
}
// I have disabled this button from button 1's action, but still when I click this button within
// 5 seconds, actions of this button is performed
System.out.println("*** Button 2 Clicked ***");
button1.setEnabled(true);
button2.setEnabled(true);
}
public static void main(String [] args){
new Sample().setVisible(true);
}
}
我想要-當我單擊button1(當button1的動作開始時)時,應禁用button1和button2(如果單擊“禁用”按鈕,則不應執行任何動作).我已經使用setEnabled(false)禁用了兩個按鈕.當button1的操作完成時,兩個按鈕都應啟用.
但是在我的代碼中,即使禁用按鈕后,對禁用按鈕執行的操作也無法正常工作.
在button1的操作中,我同時禁用了兩個按鈕,并使用了sleep方法來暫停執行(用于模擬繁重的工作)5秒鐘,但在5秒鐘內如果我單擊任何按鈕,則它們的操作將在button1的操作完成后觸發.
請幫我.我提供了示例代碼,當您運行它時,在單擊button1,然后立即單擊button2之后,將執行兩個按鈕的操作.
我想要按下任何按鈕時,都會在按鈕的單擊操作中完成繁重的工作,同時我將禁用所有按鈕,因此無法執行其他任何操作.當第一個動作完成時,我將啟用所有按鈕.
請幫我.
提前致謝.
總結
以上是生活随笔為你收集整理的java jbutton 禁用_java-禁用后对jButton执行的操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java从键盘上录入学生人数和每个学生的
- 下一篇: 物流设计大赛优秀作品_中国外运杯第七届全