我目前有一个java文件,其中包含用于创建新GUI窗口的按钮。我有一个第二个java文件,它在同一个项目中,当用户点击一个特定按钮时我想打开它。第二个文件添加了所有组件,只需要在我的“主java文件”(文件一)中启动。我怎样才能做到这一点? (调用并调用和实例化第二个不创建方法的java文件)。
赞赏任何意见或建议。
谢谢!
答案 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,以便找出哪个部分有问题