我想只允许从键盘文本而不是磁条文本中附加字符。
setfocusable(false)
setEnabled(false)
以上两个选项也不允许键盘输入。
这是我的代码
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.KeyListener;
import javax.swing.JDialog;
import javax.swing.JTextArea;
public class JTextAreaMSR extends JDialog {
private JTextArea input;
JTextAreaMSR() {
super();
setModal(true);
}
public static void main(String[] args) {
JTextAreaMSR jtA = new JTextAreaMSR();
jtA.input = new JTextArea();
jtA.input.setFont(new java.awt.Font("Arial", Font.BOLD, 24));
jtA.setLayout(new BorderLayout());
jtA.add(jtA.input);
jtA.setSize(new Dimension(400, 500));
jtA.setLocationRelativeTo(null);
jtA.input.addKeyListener(jtA.new MyKeyListener());
jtA.setVisible(true);
}
class MyKeyListener implements KeyListener {
@Override
public void keyTyped(java.awt.event.KeyEvent e) {
System.out.println("keyTyped : " + e.getKeyChar());
}
@Override
public void keyPressed(java.awt.event.KeyEvent e) {
System.out.println("keyPressed : " + e.getKeyChar());
}
@Override
public void keyReleased(java.awt.event.KeyEvent e) {
System.out.println("keyReleased : " + e.getKeyChar());
}
}
}
如何仅限制磁条输入?