我想要一个充满数组A-Z的JTextField。然后当用户按下例如键盘上的P,该字母将从JTextField中删除。
到目前为止,我所拥有的只是以下内容,我知道它无处接近所以道歉(而且我知道它不会起作用)。
tf_1 = new JTextField();
String[] alphabet = {"A", "B" //etc};
tf_1.setText(alphabet);
tf_1.addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent e) {
// Remove letter if typed.
}
}
在密钥监听器中,如何添加代码以从字母数组中删除键入的字母?
答案 0 :(得分:0)
不太好,但有效
//Frame maninFr = new Frame();
JTextField tf_1 = new JTextField();
//maninFr.add(tf_1);
//maninFr.show();
String[] alphabet = {"A","B"};
tf_1.setText(Arrays.toString(alphabet));
tf_1.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {}
@Override
public void keyReleased(KeyEvent e) {
String input = tf_1.getText();
char pressed = e.getKeyChar();
String newInput = input.replaceAll(Character.toString(pressed), "");
System.out.println("pressed: " + pressed);
System.out.println("newin : " + newInput);
tf_1.setText(newInput);
}
@Override
public void keyPressed(KeyEvent e) {}
});
答案 1 :(得分:0)
我希望你的要求是听取键输入事件并从字母数组中删除,输入字符。请检查以下代码。
:next