Java 从JOptionPane更改为JFrame

Java 从JOptionPane更改为JFrame,java,jframe,joptionpane,Java,Jframe,Joptionpane,我有一个简单的问题,我有一个计算金钱收入和费用的代码(对于一个企业),我使用了JOptionPane,它一个对话框一个对话框地显示,我希望它在一个屏幕/对话框中显示所有内容,我必须使用JFrame,有没有办法只编辑项目并将其转换为JFrame而不重新编码整个内容? 我的代码: 我不太清楚你为什么像JOptionPane那样做?如果您希望用户在继续之前输入信息,我建议将JFrame与JPanel一起使用,并重新编码您的应用程序- JFrame frame = new JFrame();

我有一个简单的问题,我有一个计算金钱收入和费用的代码(对于一个企业),我使用了JOptionPane,它一个对话框一个对话框地显示,我希望它在一个屏幕/对话框中显示所有内容,我必须使用JFrame,有没有办法只编辑项目并将其转换为JFrame而不重新编码整个内容? 我的代码:


我不太清楚你为什么像JOptionPane那样做?如果您希望用户在继续之前输入信息,我建议将JFrame与JPanel一起使用,并重新编码您的应用程序-

    JFrame frame = new JFrame();
    frame.setBounds(100, 100, 784, 533);
    frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

    // Use whatever layout suits you but I prefer mig
    frame.getContentPane().setLayout(new MigLayout("", "[344.00,grow,fill][-457.00]", "[grow]"));
    frame.setTitle("Title");
    frame.setAlwaysOnTop(true);

    JPanel panel = new JPanel();
    frame.getContentPane().add(panel, "cell 0 0,grow");

 // Then add Text fields and labels so the user knows what to enter

    JLabel lbl = new JLabel("Environment Name");
    panel .add(lbl, "cell 0 0");

    JTextField textField = new JTextField();
    panel.add(textField , "cell 0 1,growx");

然后设置一个带有操作侦听器的按钮,以便在单击时检索所需的信息,并按自己的意愿进行操作

你为每件事都做了工作窗格。JFrame只需要自身的一个实例,它对所有内容都拥有一个作用域。您必须取出JOptionPanes并将布局应用于JFrame以获得预期的结果。
    JFrame frame = new JFrame();
    frame.setBounds(100, 100, 784, 533);
    frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

    // Use whatever layout suits you but I prefer mig
    frame.getContentPane().setLayout(new MigLayout("", "[344.00,grow,fill][-457.00]", "[grow]"));
    frame.setTitle("Title");
    frame.setAlwaysOnTop(true);

    JPanel panel = new JPanel();
    frame.getContentPane().add(panel, "cell 0 0,grow");

 // Then add Text fields and labels so the user knows what to enter

    JLabel lbl = new JLabel("Environment Name");
    panel .add(lbl, "cell 0 0");

    JTextField textField = new JTextField();
    panel.add(textField , "cell 0 1,growx");