我是摇摆不定的新手,我想知道如何创建一个功能,当点击一个按钮时,新的Jframe会打开吗?例如,如果您单击“搜索”,则会弹出一个新屏幕,允许用户按特定条件搜索?
答案 0 :(得分:1)
您可以像创建第一个JFrame一样创建第二个JFrame。
但你正在寻找的可能是一个对话:http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html
如果您的问题是关于如何在点击按钮时执行某些操作,那么您正在寻找ActionListener:http://docs.oracle.com/javase/tutorial/uiswing/events/actionlistener.html
答案 1 :(得分:0)
首先,您需要在按钮上实现ActionListener,以定义单击时发生的情况。 在这个Actionlistener中,只需调用一个方法来创建一个具有适当内容的新JFrame。
您还可以创建多个JPanel并在它们之间切换,而不是打开新帧。
答案 2 :(得分:0)
以下是我正在处理的应用程序的示例。我通过文本以便它可以显示在新屏幕上,但如果您不需要,则无需这样做。
我在名为PopupScreen
的类中有一个创建新Frame
private static void createWindowWithText(final String text) {
final JFrame popup = new JFrame();
popup.setPreferredSize(new Dimension(600,450));
//Add in whatever components you want
popup.pack();
popup.setLocationRelativeTo(null);
popup.setVisible(true);
}
然后从动作中调用它:
private final AbstractAction showTextAction = new AbstractAction("Show Text") {
public void actionPerformed(final ActionEvent e) {
PopupScreen.createWindowWithText("Some Text");
}
};
此操作与按钮相关联,如下所示:
this.showTextButton.setAction(showTextAction);