【发布时间】:2020-12-08 17:23:07
【问题描述】:
我正在尝试编写一个 Java Swing 程序:
说明
编写应用程序 JFrameDisableButton 来实例化一个包含 JButton 的 JFrame。修改 JFrameDisableButton 程序,以便在用户至少单击八次之前不会禁用 JButton。此时,显示一个指示“这就够了!”的 JLabel。
我的程序没有显示“够了!”信息。我正在尝试显示点击计数。号码不显示。另外,我不知道如何禁用按钮。
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class JFrameDisableButton extends JFrame implements ActionListener
{
final int SIZE = 180;
Container con = getContentPane();
JButton button = new JButton("Press Me");
int count = 0;
final int MAX = 8;
final int WIDTH = 200;
final int HEIGHT = 200;
JLabel label = new JLabel("That's enough!");
JLabel initLabel = new JLabel("");
JLabel label2 = new JLabel("count: ");
public JFrameDisableButton()
{
super("Disable Button");
setSize(WIDTH, HEIGHT);
setLayout(new FlowLayout());
add(button);
add(label2);
add(initLabel);
}
@Override
public void actionPerformed(ActionEvent e)
{
count++;
label2.setText("count: " + count);
if (count >= 8)
{
initLabel.setText("That's enough");
}
}
public static void main(String[] args) {
JFrameDisableButton frame = new JFrameDisableButton();
frame.setVisible(true);
}
}
【问题讨论】:
-
您正在覆盖 JFrame 的
actionPerformed()方法,而不是 JButton 的方法。请参阅JButton#addActionListener()和/或"action constructor"