我有两个JFrames。第一个定义为public firstJframe
,第二个定义为public static final jFrame
。我想单击第一个JFrame上的按钮打开第二个JFrame。我怎样才能做到这一点?打开一个静态窗体/ jFrame点击按钮
.setVisible
对此不起作用。我真的不知道如何继续这个。
我有两个JFrames。第一个定义为public firstJframe
,第二个定义为public static final jFrame
。我想单击第一个JFrame上的按钮打开第二个JFrame。我怎样才能做到这一点?打开一个静态窗体/ jFrame点击按钮
.setVisible
对此不起作用。我真的不知道如何继续这个。
尝试为要更新的对象调用revalidate()(在您的情况下为第二帧)。
例子:
JButton myButton = new JButton("Open new window");
JFrame newFrame = new JFrame("New Window");
myButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
newFrame.pack();
newFrame.setVisible(true);
newFrame.revalidate();
}
});
更新
如果还是不行,请尝试调用此:
newFrame.invalidate();
newFrame.validate();
我建议: 下button
type
:
this.dispose
new public static final jFrame.setvisible(true);
为更好地帮助,请发布SSCCE(http://pscode.org/sscce.html)。 – 2011-02-28 11:43:05
.setVisible()肯定会起作用。显示一些代码,因为你的问题太模糊了,我们无法帮助你。 – MeBigFatGuy 2011-02-28 12:40:39
你确定第二帧已被实例化吗?检查第二帧的大小:从另一帧打开帧应该没问题 – Heisenbug 2011-03-09 10:57:35