我有一个应用程序,我需要用户多次输入。我想编写一个类或方法来返回请求的输入。
现在我有一个 CostumPanel,当用户在文本字段中按 Enter 键后,它会调用下一个方法。我想知道如何才能调用一个返回请求值的方法。与 JOptionPane 类似。 (我不想使用 JOptionPane 或类似的我想尝试自己制作)
您可以使用 JTextField 创建自定义输入面板并监听“Enter”键。按下时,返回输入值:
import javax.swing.*;
import java.awt.event.*;
public class InputPanel extends JPanel {
private JTextField textField;
private String inputValue;
public InputPanel(String prompt) {
textField = new JTextField(20);
add(new JLabel(prompt));
add(textField);
textField.addActionListener(e -> inputValue = textField.getText());
}
public String getInputValue() {
return inputValue;
}
}
public class InputDialog {
public String getUserInput(String prompt) {
InputPanel panel = new InputPanel(prompt);
JOptionPane.showConfirmDialog(null, panel, "Input", JOptionPane.OK_CANCEL_OPTION);
return panel.getInputValue().
}
}
调用 getUserInput() 获取用户输入。