2015-05-09 63 views
-3

我对基础软件开发非常陌生,我正在使用JDK 8和Eclipse(Kepler)作为我的IDE创建一个公共汽车票预订软件。除了正确的登录会话外,我几乎完成了管理模块。我有一个问题,我请求你的赦免无法解释。我该如何禁止在java中手动切换帧

Image: admin and user log in forms

在主要形式,有两个按钮,一个将带您到管理员登录形式和其他用户登录形式。在管理员表单中,主窗体在后台运行。现在,如果我点击该表单上的任何位置,管理员表单将被隐藏,实际上主窗体中的所有其他选项都可以运行。所以,我实际上也可以访问用户登录表单。同样,在以管理员身份登录后,在管理选项表单中,我不仅可以搜索公交路线,还可以同时做其他事情。

同时运行的管理形式:

Image: admin forms running simultaneously

于是,我想到了两种方法来解决这个问题。其一,防止背景表单被访问(点击该表单上的任何地方不会隐藏当前表单)和二,禁用背景表单。但我不知道该怎么做。谁能帮我吗?

感谢

编辑:在简单的话,说我目前访问管理日志形式,所以我不能同时访问的任何其他形式,如用户登录形式。

+1

我建议你添加图片(或者如果你不能添加内联图片到你的情况,主持人会为你编辑问题)的图片链接,以及你想要实现的示范图。如果你不知道如何实现某些东西,可能需要添加一些高级别的伪代码来实现这个概念。我将这个问题标记为“不清楚你要问什么”,直到清理完毕。 – initramfs

+0

嗨,我怎么添加图片? –

+0

您应该可以通过按下编辑窗口顶部花括号旁边的“图像”图标来嵌入内嵌图像。如果内嵌图像失败,请将其粘贴为超链接,主持人会为您解决此问题。如果我没有记错,新用户最多只能有2个超链接,所以请谨慎选择。 – initramfs

回答

2

所以,我想到了两种方法来解决这个问题。其一,防止背景表单被访问(点击该表单上的任何地方不会隐藏当前表单)和二,禁用背景表单。但我不知道该怎么做。

通常,一个应用程序应该只有一个JFrame

如果您需要儿童窗户,那么您应该使用modal JDialog。模式对话框将阻止用户点击框架,直到对话框关闭。

您创建JDialog的方法与创建JFrame的方法相同。但是,您确实需要将JFrame指定为对话框的所有者。

+0

不幸的是,在这个阶段我无法编码。为了更简单,当我访问一个表单(比如说管理员登录表单)时,我无法访问任何其他表单(如用户登录表单)。我怎样才能做到这一点? –

+0

@RohanBanerjee,“不幸的是,在这个阶段我不能编码。”当然你可以。没有理由不能这样做,这是正确的解决方案。您只需将JFrame更改为JDialog即可。任何其他解决方案将重写Swing事件代码。 – camickr