我正在构建简单的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
有关更多信息,请查看如何进行对话,Joptionpane
您可以使用JOptionPane
获得真正复杂的结果,请查看仅接受Java中的一个数字示例