2012-12-03 27 views
-2

我实际上在一个显示很多框架的java项目上工作,当我们点击一​​个按钮,然后我们去适当的框架......问题在于第一个框架始终保持可见。“母框”在显示下一帧后消失

我试过f1.setVisible(false);在行动中,但同样的问题仍然存在。

+1

请告诉我们一些代码。我们需要看你是如何试图完成这项任务,以告诉你可能有什么错误。 –

+5

请参阅[使用多个JFrames,好/坏实践?](http://stackoverflow.com/a/9554657/418556)BTW - by *“显示许多帧的项目”* DYM'JFrame'实例或帧在网页,或视频,或..? –

+3

你的问题是,你可能在错误的JFrame实例上调用'setVisible(false)',因为如果你在实际的可视化JFrame上调用它,它肯定会消失。但是说了这些,我衷心赞同@安德鲁和MRI的建议(对他们俩都是1+)。使用CardLayout。 –

回答

-1

在打开一个新的框架,也称它关闭你的窗口的方法

private void closeWindow(){ 
    WindowEvent event = new WindowEvent(this, WindowEvent.WINDOW_CLOSING); 
    Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(event); 
} 
+0

如果这样的工作,那么应该'这个。 setVisible(false)' –

+2

确实,在用setVisible替换该代码时,它的行为如预期。出乎意料的是,他将此标记为解决方案,所以我猜想它对他有用。如果我们有一些代码可以查看,那么识别问题会容易得多。 –

6

我已经建议这样做的次数是上千次,但是使用适当的布局管理器(例如CardLayout)可以切换多个视图,而不是多个帧。请参阅How to Use CardLayout