0

我想只允许从键盘文本而不是磁条文本中附加字符。

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());
            }
        }

    }

如何仅限制磁条输入?

4

0 回答 0