java -在测试JTextField中输入press
在java中输入JTextField时,有可能检测到有人按了Enter键吗? 您不需要创建按钮并将其设置为默认值。
9个解决方案
159 votes
操作被设计为使用操作监听器,就像操作一样。 请参阅动作的动作方法。
例如:
操作操作=new abstract操作(
{
@Override
公共语音格式(actionperformed (actionevent e ) )。
{
system.out.println(someaction );
}
(;
jextfieldtextfield=new jtextfield (10;
textfield.addactionlistener (action );
现在,使用Enter键将触发此事件。
如果不想将按钮设置为默认按钮,也可以使用该按钮共享侦听器。
jbutton button=new jbutton (do something );
button.addactionlistener (action;
请注意,此示例使用的是实现操作监听器的操作。 因为Action是具有附加功能的新API。 例如,禁用操作将禁用文本字段和按钮事件。
camickranswered 2019-08-04t 17336022:03 z
21 votes
jtextfield function=new jtextfield (8;
function.addactionlistener (newactionlistener ) )。
公共语音格式(actionperformed ) {
//statements!
}; );
您要做的就是将addActionListener添加到JTextField中,如上所述! 按Enter键时,操作会在语句中执行所需的操作。
kyorilysanswered 2019-08-04t 17336022:29 z
12 votes
将事件添加到KeyPressed。
privatevoidjtextfield1key pressed (Java.awt.event.keyevent evt ) {
if (evt.get keycode (==keyevent.vk _ enter ) )
//enterwaspressed.yourcodegoeshere。
}
}
ionicbizuanswered 2019-08-04t 17336022:54 z
5 votes
你想做这种事吗?
jtextfieldmtextfield=new jtextfield (;
m textfield.addkey listener (new key adapter ) )。
@Override
公共语音密钥预定义(keyevent e ) {
if (e.get keycode (==keyevent.vk _ enter ) )
//something like .
//mTextField.getText (;
//or .
//mButton.doClick (;
}
}
);
diegoplascencialaraanswered 2019-08-04t 17336023:19 z
1 votes
首先,在JButton或JTextField中添加操作命令。
jut ton.setactioncommand (nameofcommand );
jtextfield.setactioncommand (nameofcommand );
然后,将操作监听器添加到JTextField和JButton中。
jbutton.addactionlistener (listener );
jextfield.addactionlistener;
然后,On you ActionListener实现写入
@Override
公共语音格式(actionperformed (actionevent e ) )。
{
stringactioncommand=e.getactioncommand (;
操作命令.外部设备(if )操作命令中心
{
//Do something
}
}
Greg answered 2019-08-04t 1733602:58 z
1 votes
所有其他回答(包括已接受的回答)都很好,但是如果您已经使用了Java 8,可以执行以下操作(以更短、更新的方式) :
textField.addActionListener (
ae - {
//dostuff
}
);
正如已接受的答案所示,可以很容易地对操作监听器做出反应。 捕获入口密钥。
但是,我的方法受益于Java 8中引入的功能概念。
要对按钮和JTextField使用相同的操作,请执行以下操作:
操作监听器l=AE-{
//do stuff
}
Button.addactionlistener(L;
textfield.addactionlistener(L;
如果需要进一步说明的话请告诉我!
thomasbhmanswered 2019-08-04t 17336024336052 z
0 votes
要在JTextField输入中设置缺省按钮操作,必须执行以下操作:
//put this after initComponents (;
textfield.addactionlistener (button.getactionlisteners () [0];
是[0]。 按钮可以具有许多操作,但通常只有一个(“操作性能”)。
JCA answered 2019-08-04t 17336025336024 z
-2 votes
公共声明(keyevent e ) )。
{
int key=e.getKeyCode (;
if(e.getsource(==textfield ) )。
{
if(key==keyevent.vk_enter ) )
{
Toolkit.getDefaultToolkit ().beep );
textfield _1. requestfocusinwindow (;
}
}
要在JTextField中写入" Enter press "逻辑,请单击keyTyped () ) &; amp; keyPressed (。
avnishalokanswered 2019-08-04t 17336025:52 z
-3 votes
只需使用此代码:
sing utilities.getrootpane (my button ).set default button (my button );
iamprogrammeranswered 2019-08-04t 17336026336018 z