我正在创建一个程序,让用户输入函数 x 的值,截取以下代码:
JLabel f1= new JLabel (" x1 = ");
JLabel f2 = new JLabel (" x2 = ");
JButton submit = new JButton("Submit values");
submit.addActionListener(this);
JTextField x1 = new JTextField();
JTextField x2 = new JTextField();
inputPanel.add(f1);
inputPanel.add(x1);
inputPanel.add(f2);
inputPanel.add(x2);
inputPanel.add(submit);
它看起来像这样:
x1 = [input field] x2 =[input field] (submit values)
我的 ActionPerformed 方法如下所示:
public void actionPerformed(ActionEvent e)
{
if("submit".equals(e.getActionCommand()))
{
System.out.println("click");
}
}
我添加了 System.out.println 来检查程序是否知道我何时单击提交按钮,但没有任何内容打印到控制台,我的问题是为什么以及如何更改它?
我想问的另一件事是如何同时获取 x1、x2 的输入?我知道我可能需要一个 if 函数来检查是否没有任何字段为空?
最佳答案
问题出在您的 actionCommand 上。
JButton submit = new JButton("Submit values");
如果您没有明确设置操作命令,它将恢复为
Button text
.如果您的按钮文本太长或不方便使用,请执行以下操作:
submit.setActionCommand("submit");
关于java - 按下按钮时没有任何反应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58524179/