按键盘按钮时我想要一个JTextFeild事件。我想要连接" ADZ"前面整个文本的文本。(如果我们输入" 2"整个文本应该是" ADZ2")操作将仅执行第一次按键操作。在任何按键操作后赢得'执行。动作只执行一次。 我试过下面的代码,但如果输入22,它会给出" ADZADZ22"。
private void JTextFeild1KeyTyped(java.awt.event.KeyEvent evt) {
String num1 = JTextFeild1.getText();
JTextFeild1.setText("ADZ"+num1);
如果输入22,我想要这个,它会给出ADZ22。
答案 0 :(得分:2)
解决问题的一种简单方法是检查前缀是否已经存在。 这样可以避免两次添加相同的前缀。
org.pentaho.reporting.engine.classic.core.environment.pentahoImgPath=c:/myProject/images/
org.pentaho.reporting.engine.classic.core.env-mapping.pentahoImgPath=env\:\:pentahoImgPath
请注意:Java编码规则建议使字段名称(例如private void JTextFeild1KeyTyped(java.awt.event.KeyEvent evt) {
String num1 = JTextFeild1.getText();
if (!num1.startsWith("ADZ"))
{
num1 = "ADZ" + num1;
JTextFeild1.setText(num1);
}
...
}
)以小写字符开头。方法名称也是如此(例如jTextField
)
答案 1 :(得分:1)
public static int counter = 0;
在班级维护静态计数器。按键时按一下。检查:
if(counter == 1) {
// do your operation
}
答案 2 :(得分:0)
检查JTextField
是否为空,然后设置前缀。这种方法设置" ADZ"如果该字段为空并且您键入内容然后附加您键入的所有内容。
public void keyTyped(KeyEvent ke) {
if(txfInput.getText().equals("")) {
txfInput.setText("ADZ");
}
}