我正在构建简单的 Swing Java 应用程序,它包含 JFrame 和 JPanel。我的 JPanel 的构造函数需要传递 1 个参数。我想让我的用户可以输入这个变量。所以现在我的应用程序刚刚启动,我需要在代码中传递这个参数。我的目标是:在我的 JPanel(也许还有 JFrame)启动之前,会出现带有“选择一个数字”问题的小窗口,并选择数字从 1 到 10 的列表,当用户选择一个并按下按钮时,应该传递此值进入 myJPanel 的构造函数。
如何实现?
JFrame代码:
public class MainWindow extends JFrame {
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MainWindow frame = new MainWindow();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public MainWindow() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 542, 455);
myJPanel panel1 = new JPanel(4); // HERE
add(panel1);
}
编辑
有没有更优雅的方法呢? : ] 我不想先转换为字符串,然后再转换为 int。
而且,如果用户点击“取消”按钮,如何关闭整个应用程序?
Object[] possibleSizes = { 3, 4, 5, 6, 7 };
Object selectedValue = JOptionPane.showInputDialog(null,
"Choose a number", "Uwaga!",
JOptionPane.INFORMATION_MESSAGE, null,
possibleSizes, possibleSizes[0]);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 542, 455);
MyJPanel panel1 = new MyJPanel(Integer.parseInt(selectedValue.toString()); // HERE
add(panel1); 1);
最佳答案
您可能正在寻找类似 JOptionPane.showInputDialog
的内容.
这非常简单,但可以让您从用户那里收集信息,这些信息以 String
有关更多信息,请查看 How to make Dialogs , JOptionPane
您可以使用 JOptionPane
获得非常复杂的结果,查看 accept only a single digit in java举个例子
关于java - 用户如何将参数键入 JPanel 的构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13281723/