带有JavaFX或Swing的MDI

带有JavaFX或Swing的MDI,java,swing,user-interface,javafx,mdi,Java,Swing,User Interface,Javafx,Mdi,回到我的Visual Basic编程时代,我记得创建一个多表单程序非常容易 在gui设计器中,我可以简单地创建任意数量的表单,然后根据需要将它们加载到程序中 我用Java做这件事很困难 我开始使用JavaFXSceneBuilder,但很快发现似乎没有很好的MDI支持。那么,回到秋千上来。但是,同样,我没有看到设计多表单应用程序的简单方法 我在某个地方读到,JDesktopPane是一种可行的方法,因为它将允许您拥有不同的内部框架,但我可以看到,在NetBeans gui设计器中无法设计多个框架

回到我的Visual Basic编程时代,我记得创建一个多表单程序非常容易

在gui设计器中,我可以简单地创建任意数量的表单,然后根据需要将它们加载到程序中

我用Java做这件事很困难

我开始使用JavaFXSceneBuilder,但很快发现似乎没有很好的MDI支持。那么,回到秋千上来。但是,同样,我没有看到设计多表单应用程序的简单方法

我在某个地方读到,
JDesktopPane
是一种可行的方法,因为它将允许您拥有不同的内部框架,但我可以看到,在NetBeans gui设计器中无法设计多个框架

您可能认为可以在设计器中隐藏一个内部框架,以便可以布局另一个框架。虽然我可以将多个帧添加到我的
JDesktopPane
,但它们都相互重叠,因此无法设计多个帧

有什么工具可以用来做我想做的事情,或者我只需要咬紧牙关,在没有设计师帮助的情况下编写GUI

简而言之,我只想创建一个简单的应用程序,在主屏幕上显示三个或四个选项

  • 输入新客户
  • 搜索现有客户
  • 快速估算

  • 并根据用户的选择打开相应的表单。这似乎是几乎所有程序的基本要求,我不明白为什么在开发设计/开发工具时,似乎从未考虑过实际创建具有多个窗口/窗体的应用程序。思想?建议

    如果您确实喜欢使用
    JDesktopPane
    的多文档接口(MDI),请以自己的类形式创建每个表单。不要将它们拖到桌面上。这将允许您隔离它们

    (你可以双击一个内部框架,它应该进入“隔离”模式,基本上你只能看到它)

    但是,除非窗口共享信息(即您希望在一个窗口中查看信息以更改另一个窗口中的信息),否则我会避免使用它

    更好的解决方案可能是使用一个允许您根据需要在每个表单之间切换的

    同样,我会从像
    JPanel
    这样的东西开始单独构建表单,准备好后,将它们添加到主表单中


    我一直鼓励新加入Swing的人手工编写表单代码,这会让你非常欣赏如何设计表单和布局管理器的强大功能。

    Ahhh,双击框架将其隔离正是我想要的。好极了真不敢相信事情竟那么简单。由于我对学习使用正确的编程约定以“正确”的方式进行编程非常感兴趣,请分享您的见解,了解您为什么不建议使用该方法?MDI方法在过去10年中一直被贬低(作为一种设计方法,而不是Java)。就个人而言,我发现
    JDesktopPane
    受到限制(一开始不支持滚动),现在大多数人都有多个监视器,将用户限制在一个自包含的环境是非常令人沮丧的(我使用MDI应用程序,我们的客户对此抱怨不已)。此外,窗口管理可能很困难,并非不可能,但要准备编写大量代码。还有一个决定,就是用无关的信息让你的客户负担过重。谢谢你的回复,谢谢你花时间跟进。非常感谢。