基本上我试图制作一个需要条形码的程序,你应该通过GUI输入它,它可以使用nextLine(),因为它暂停并等待输入,我想知道是否有类似的东西,但等待gui中的输入?
答案 0 :(得分:0)
您可以在输入输入后添加一个按钮,然后聆听按钮事件。请查看以下示例
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);
}