0

我对如何实现我想要实现的东西有点困惑。在我的主要 Java 类中,我希望能够为诸如设置之类的事情调用多个 JFrame。我在主类中设置了 GUI;我希望我的按钮调用单独的 JFrame,然后捕获用户输入,将其返回到主类进行处理。像这样:

public class Main extends JFrame{
     public Main(){}

     button.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
               new Settings();
          }
     });
}

public class Settings extends JFrame{
     submit.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
               //Capture data and return it to main
          }
     });
}

我不确定我是否会采取正确的方法。我希望我所有的小弹出窗口都在不同的 Java 文件中,以便于使用。

4

3 回答 3

3

我认为您不需要 JFrame 进行设置。
在 Java 中有一个像 JOptionPane 这样的对象,这就是您所需要的。

这里有我的例子:

String[] levels = {"Easy", "Medium", "Gomoku"};
int result = JOptionPane.showOptionDialog(null,
                    "Choose level:", "OX Level",
                    JOptionPane.OK_CANCEL_OPTION,
                    JOptionPane.QUESTION_MESSAGE,
                    null, levels, levels[0]);

在这里你有很好的教程:如何制作对话框

于 2013-05-09T19:25:59.777 回答
0

正如 Maniek 所说,JOptionPane 是在单独的框中捕获用户输入的最简单方法。 http://docs.oracle.com/javase/7/docs/api/javax/swing/JOptionPane.html

但是,如果您尝试为设置创建一个新窗口,则必须初始化 JFrame。我会像这样设置我的按钮:

       Settings test = new Settings();                   // creates a new window
       test.setSize(400, 300 );                  // sets the size
       test.setVisible( true );                  // makes it visible

因为当您只调用“new Settings()”时,我认为它不会那样做。

于 2013-05-09T21:55:04.327 回答
0

通常,动态应用程序设置由应用程序中的某种“管理员”用户提供(至少基于我在 5 年的企业应用程序开发后所看到的)。我不确定您的应用程序有多复杂,但对于一个简单的应用程序,带有用于输入应用程序设置的键/值对的屏幕将是一条“标准”路线。

于 2013-05-09T19:47:52.017 回答