Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GUI-在屏幕之间切换_Java_Swing_User Interface - Fatal编程技术网

Java GUI-在屏幕之间切换

Java GUI-在屏幕之间切换,java,swing,user-interface,Java,Swing,User Interface,我有我的程序,可以连接到数据库工作!(万岁) 但现在,我遇到了一个新问题。我了解到使用多个JFrame窗口(并关闭旧窗口)对用户不友好,而且是一种不良的学习习惯 所以现在我想知道,有没有一种方法可以在面板之间切换,或者类似的东西 例子: JFrame带有登录名和密码。--用户登录,进入下一个“屏幕”,在那里他或她可以看到数据库信息,因为他或她登录了! 我应该用什么,有什么好方法吗?简单的答案是可以。这样做的想法是创建一个本地化类,该类包含一个方法,外部类可以调用该方法传递一个jPanel,然后只

我有我的程序,可以连接到数据库工作!(万岁) 但现在,我遇到了一个新问题。我了解到使用多个
JFrame
窗口(并关闭旧窗口)对用户不友好,而且是一种不良的学习习惯

所以现在我想知道,有没有一种方法可以在面板之间切换,或者类似的东西

例子:
JFrame
带有登录名和密码。--用户登录,进入下一个“屏幕”,在那里他或她可以看到数据库信息,因为他或她登录了!
我应该用什么,有什么好方法吗?

简单的答案是可以。这样做的想法是创建一个本地化类,该类包含一个方法,外部类可以调用该方法传递一个jPanel,然后只需将该面板添加到jFrames内容窗格中(这反过来将删除另一个面板)。有很多方法可以做到这一点,我希望你能找到一种有效的方法,我希望这个答案也能对你有所帮助。

你可能需要检查一下。

以下是我通常遵循的程序。我创建并打开一个新框架,并使父框架不可见。再次关闭子帧时,我会使父帧可见。我使用这个程序很长时间了,没有遇到任何问题

这是单击登录按钮时执行的代码片段

。。。
setVisible(假)//隐藏登录页面
DBPage page=新的DBPage(此,值1);//DBPage是另一个JFrame
page.setVisible(true)


我觉得这些代码足够理解了

JLayeredPane可能会起作用

您可以在每个层的顶部有几个层,登录屏幕等,并显示当时最相关的层

前面的问题可能很有用:


我有,但是(如果我错了,请纠正我的错误)这不就像使用标签一样吗?比如在网络浏览器中?如果是这样,是否可以强制关闭某些选项卡?因为我不希望“登录”选项卡在使用后打开。“我有,但是(如果我错了,请纠正我)这不是像使用选项卡一样吗?”一个
JTappedPane
提供了您所指的选项卡,一个卡片布局没有。我明白!但这会产生“闪光”效应吗?因为在两个JFrames的转换之间,如果我是对的,就有“空白”。没有“空白”是可见的。你可以试试这个。这对于登录页面到主页来说是可以的。但是,在主页中,尝试使用选项卡和CardLayout来维护导航。当你关闭主页时,带回来登录页面,清除用户的会话数据。好的,非常感谢!我现在就试试,对于标签,我肯定会使用CardLayout,因为每个人都提到过它。我不能反对你的评论,但谢谢你的帮助!您也可以使用JTabbedPane,这很容易使用。“JLayeredPane可能会起作用。”卡片布局将对此有所帮助,因为它正是为此而设计的,