用户如何在 JPanel 的构造函数中键入参数?



我正在构建简单的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中的一个数字示例

相关内容

最新更新