【发布时间】:2017-10-19 11:22:16
【问题描述】:
我需要请帮忙。 我有一个 Java 代码,其中有一个小 GUI。 我不能点击按钮两次。 我可以onlx激活while循环,但我不能停用它。
这是我的代码:
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Test2 {
public static void main(String[] args) {
JFrame Frame = new JFrame("");
Frame.setBounds(100, 100, 450, 300);
Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Frame.setVisible(true);
JPanel Panel = new JPanel();
Frame.add(Panel);
JToggleButton toggle = new JToggleButton("");
Panel.add(toggle);
toggle.setPreferredSize(new Dimension(50,50));
toggle.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
int zufallszahl;
if(toggle.isSelected()) {
while(toggle.isSelected()) {
zufallszahl = (int)(Math.random() * 10 +1);
System.out.println(zufallszahl);
}
}
}
});
}
}
【问题讨论】:
-
1) 请学习常见的 Java 命名法(命名约定 - 例如
EachWordUpperCaseClass、firstWordLowerCaseMethod()、firstWordLowerCaseAttribute,除非它是UPPER_CASE_CONSTANT)并始终如一地使用它。 2)见Should I avoid the use of set(Preferred|Maximum|Minimum)Size methods in Java Swing?(是的。) 3)不要阻塞EDT(事件调度线程)。发生这种情况时,GUI 将“冻结”。有关详细信息和修复,请参阅 Concurrency in Swing。
标签: java swing loops user-interface button