调用单独的Java文件来打开第二个gui窗口

时间:2011-08-01 02:33:27

标签: java eclipse swing user-interface

我目前有一个java文件,其中包含用于创建新GUI窗口的按钮。我有一个第二个java文件,它在同一个项目中,当用户点击一个特定按钮时我想打开它。第二个文件添加了所有组件,只需要在我的“主java文件”(文件一)中启动。我怎样才能做到这一点? (调用并调用和实例化第二个不创建方法的java文件)。

赞赏任何意见或建议。

谢谢!

4 个答案:

答案 0 :(得分:1)

嗯,我不知道我是否理解正确,但你想在点击按钮时创建窗口?

试试这个:

new GUIConstructorNameHere.setVisible(true);

PS:GUIConstructorName是您要显示的类的构造方法。

答案 1 :(得分:1)

你应该为它创建一个方法,比如你有两个文件,例如。 file1&文件2 单击file1中的按钮,您必须从file1导航到file2。

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
{
file2 f2 = new file2();
this.dispose(); //closes current file
f1.seVisible(true); //opens the next file
}

答案 2 :(得分:1)

您没有提供足够的信息。 Java有多个GUI库,Swing和SWT是我们想到的。如果您正在使用Swing并且要显示的“第二类文件”扩展了JPanel,那么您可以创建一个新的YourSecondClass()并将其添加到您的JFrame中。在Swing中,必须将所有组件添加到Container中,因此您的第二个类必须是BE容器(例如JPanel),或者第二个类中的组件可以添加到现有容器中。

答案 3 :(得分:1)

由于此帖子尚未标记为已解决,我认为您尚未找到问题的解决方案。 这里只有两件事可能是错的。你的第二堂课是错的,或者你的听众是错的。所有你需要确保显示你的“第二帧”是添加setVisible(true),并创建你的第二个类的新对象,如前面的帖子中所述。

这是你的第二堂课需要创建一个空窗口:

public class MySecondClass extend JFrame{

   public MySecondClass(){
        setSize(200, 200);
        setVisible(true);
        //additional calls
     }
}

并且您的监听器应该在主类的构造函数中如下所示:

theButton.addActionListener(new buttonListener());

最后,在主类中添加以下内部类:

public class buttonListener implements ActionListener{
        public void actionPerformed(ActionEvent e){
                new MySecondClass();
          }
}

如果仍然无法使代码工作,请在第二个类的构造函数中添加一个printline,在侦听器类中添加一个printline,以便找出哪个部分有问题