How to avoid append char from magnetic stripe reader to JTextArea in java

77 Views Asked by At

I want allow to append char only from keyboard text not a magnetic strip text.

setfocusable(false) 

setEnabled(false)

above both options are not allowed also keyboard inputs.

Here is my code

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

    }

How can I restrict magnetic strip inputs only ?

0

There are 0 best solutions below