我想知道如何创建一个方法,在一个单独的窗口中打开一个新的jframe,这将允许我搜索信息。目前我有一个单击我的按钮,但是,我想要输入一个事件,一旦点击它,它将打开一个新窗口,用户可以输入一个字符串来搜索信息。我应该为Jframe创建一个新类吗?任何提示和代码将不胜感激。谢谢!
答案 0 :(得分:3)
这取决于您在第二个窗口中将具有的功能列表,如果功能列表非常扩展,那么最好将它设置为单独的类,即使JDialog也不需要JFrame。
示例代码显示如何在单击按钮时打开JDialog,如下所示:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class TestFrameOnFrame extends JFrame implements ActionListener{
public TestFrameOnFrame(){
JButton button = new JButton("Show New Frame");
button.addActionListener(this);
this.add(button);
this.pack();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
JDialog dialog = new JDialog(this);
dialog.setTitle("Search Dialog");
dialog.add(new JLabel("Just a test"));
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setVisible(true);
}
public static void main(String[] args) {
new TestFrameOnFrame();
}
}
答案 1 :(得分:2)
建议:
答案 2 :(得分:0)
根据此“第二帧”的复杂程度,您可以使用内部类,或将其分开。无论哪种方式,只需让按钮上的事件监听器激活这个新类的实例,该实例可以是或创建一个新的Jframe并将其设置为可见。