Как заставить мою Java-программу ждать, пока не будет введено значение в текстовое поле - PullRequest
0 голосов
/ 26 апреля 2018

По сути, я пытаюсь создать программу, которая нуждается в штрих-коде, который вы должны ввести через GUI, он работает с nextLine (), так как он приостанавливает и ждет ввода, и мне было интересно, есть ли что-то подобное, но ожидание вход в графический интерфейс?

1 Ответ

0 голосов
/ 26 апреля 2018

Вы можете добавить кнопку для нажатия после ввода входа и прослушивания события кнопки. Проверьте ниже пример

 public static void main(String[] args) {
      JFrame frame = new JFrame("Example");
      JPanel panel = new JPanel();
      panel.setLayout(new FlowLayout());
      JTextField textField = new JTextField("enter input");

      JButton button = new JButton();
      button.setText("Ok");
      button.addActionListener(new ActionListener()
      {

        @Override
        public void actionPerformed(ActionEvent e)
        {
          JOptionPane.showMessageDialog(frame,
              textField.getText());

        }
      });

      panel.add(textField);
      panel.add(button);

      frame.add(panel);
      frame.setSize(150, 100);
      frame.setLocationRelativeTo(null);
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setVisible(true);
  }

Другой вариант - добавить прослушиватель документа в текстовое поле.

 public static void main(String args[]) {
    final JFrame frame = new JFrame("Example");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JTextField textField = new JTextField();
    frame.add(textField, BorderLayout.NORTH);

    DocumentListener documentListener = new DocumentListener() {
      public void changedUpdate(DocumentEvent documentEvent) {
        JOptionPane.showMessageDialog(frame,
            textField.getText());
      }
      public void insertUpdate(DocumentEvent documentEvent) {
        JOptionPane.showMessageDialog(frame,
            textField.getText());
      }
      public void removeUpdate(DocumentEvent documentEvent) {
        JOptionPane.showMessageDialog(frame,
            textField.getText());
      }

    };
    textField.getDocument().addDocumentListener(documentListener);

    frame.setSize(250, 150);
    frame.setVisible(true);
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...