仅按下第一个键时如何执行操作?
How to perform an action when only first key pressed?
当键盘按钮 pressed.I 想要将 "ADZ" 文本连接到前面的整个文本时,我想要一个 JTextFeild 事件。(如果我们输入“2”,整个文本应该是 "ADZ2")THe动作只会执行第一个键 press.After 任何按键动作都不会 performed.Action 只会执行一次。
我试过下面的代码,但如果输入 22,它会给出 "ADZADZ22".
private void JTextFeild1KeyTyped(java.awt.event.KeyEvent evt) {
String num1 = JTextFeild1.getText();
JTextFeild1.setText("ADZ"+num1);
我想要这个,如果输入 22,它会给出 ADZ22。
解决它的一个简单方法是检查前缀是否已经存在。
这样可以避免相同的前缀被添加两次。
private void JTextFeild1KeyTyped(java.awt.event.KeyEvent evt) {
String num1 = JTextFeild1.getText();
if (!num1.startsWith("ADZ"))
{
num1 = "ADZ" + num1;
JTextFeild1.setText(num1);
}
...
}
请注意:Java 编码规则建议字段名称(例如 jTextField
)以小写字符开头。方法名称也是如此(例如 private void jTextField1KeyTyped
)
public static int counter = 0;
将静态计数器保持在 class 级别。在按键时将其增加一。检查:
if(counter == 1) {
// do your operation
}
检查你的JTextField
是否为空,然后设置前缀。此方法设置 "ADZ" 当字段为空并且您键入内容然后附加您键入的所有内容时。
public void keyTyped(KeyEvent ke) {
if(txfInput.getText().equals("")) {
txfInput.setText("ADZ");
}
}
当键盘按钮 pressed.I 想要将 "ADZ" 文本连接到前面的整个文本时,我想要一个 JTextFeild 事件。(如果我们输入“2”,整个文本应该是 "ADZ2")THe动作只会执行第一个键 press.After 任何按键动作都不会 performed.Action 只会执行一次。 我试过下面的代码,但如果输入 22,它会给出 "ADZADZ22".
private void JTextFeild1KeyTyped(java.awt.event.KeyEvent evt) {
String num1 = JTextFeild1.getText();
JTextFeild1.setText("ADZ"+num1);
我想要这个,如果输入 22,它会给出 ADZ22。
解决它的一个简单方法是检查前缀是否已经存在。 这样可以避免相同的前缀被添加两次。
private void JTextFeild1KeyTyped(java.awt.event.KeyEvent evt) {
String num1 = JTextFeild1.getText();
if (!num1.startsWith("ADZ"))
{
num1 = "ADZ" + num1;
JTextFeild1.setText(num1);
}
...
}
请注意:Java 编码规则建议字段名称(例如 jTextField
)以小写字符开头。方法名称也是如此(例如 private void jTextField1KeyTyped
)
public static int counter = 0;
将静态计数器保持在 class 级别。在按键时将其增加一。检查:
if(counter == 1) {
// do your operation
}
检查你的JTextField
是否为空,然后设置前缀。此方法设置 "ADZ" 当字段为空并且您键入内容然后附加您键入的所有内容时。
public void keyTyped(KeyEvent ke) {
if(txfInput.getText().equals("")) {
txfInput.setText("ADZ");
}
}