正如我所见,对于像我这样的入门级学生来说,许多答案都太晦涩了。
我按照首先将 addActionListner(this)
添加到我的 JTextField
的步骤进行操作。
我接下来要做的最令人困惑的事情是:
public void actionperformed(Actionevent ae){
if(ae.getSource() == "Enter pressed")
{
outArea.setText(result);
}
}
这不起作用,因为我觉得代码 ae.getSource() == "Enter presses"
无法正常工作,甚至我用简单的打印行替换了在 actionPerformed 下采取的操作像 System.out.println("working") 这样的命令,它不会执行。
如果按下按钮,我会执行以下操作。
public void actionperformed(Actionevent ae){
if(ae.getSource() == "JButton")
{
System.out.println("JButton was pushed");
}
}
无论如何,假设我有一个 GUI,其中包含如下所示的一段给定代码:
public static void main(string[] args){
new myProg();
}
public myProg(){
....
buildTheGUI();
...}
}
//GUI Objects
...
JTextField input = new JTextField(10);
...
//method building the GUI
public void buildTheGUI(){
...
input.addActionListner(this);
...
//a method called actionPerformed
public void actionperformed(Actionevent ae){
}
我现在尝试通过 actionListner 检测输入键,而不是通过任何其他方法,因为它是给定的。
最佳答案
首先,actionPerformed
由操作事件触发,通常在大多数系统上,这是由 Enter 键触发(上下文为 JTextField
)...所以您不需要检查它。
其次,source
ActionEvent
的通常是触发它的控件,即 JTextField
在这种情况下。
第三,String
Java 中的比较是通过 String#equals
完成的方法...
if ("Enter presses".equals(someOtherString)) {...
关于java - 检测 JTextField 中的 Enter 键并在 actionperformed 中执行某些操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22471796/