- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将较旧的 MDI(Windows 中的多文档接口(interface),我不知道它在 Java 中称为什么)转换为多 SDI(单文档接口(interface))。它实际上是“一个带有菜单的顶部窗口,拥有多个单独的 JFrame,每个 JFrame 都包含自己的逻辑和显示”。我还计划打开/保存工作区。采用MVC作为总体架构。
我已经开始了,主要想法是创建一堆 JFrame 派生的窗口,我在窗口菜单中跟踪它们。当然是模型和 Controller ,但主要问题是 View /JFrame。我已经迷失在无数的操作处理程序和窗口监听器中......
然后我突然想到,“这不可能是第一次有人写这个”。在谷歌上快速搜索,结果我一无所获。但肯定存在一个已经可以做到这一点的框架吗? (最好在模型- View - Controller 设计中)
当我想要的只是创建模型和 Controller ,然后仅实现每个窗口/JFrame 特有的东西时。其余的(窗口管理、工作区等)应该是相当标准的。
我想我正在寻找类似于 DevStudio 中的应用程序向导/代码生成器的东西。
这样的框架是否存在,还是我必须自己制作一个?
最佳答案
我知道这个问题已经很老了,因为我不久前也遇到过类似的问题,所以只是在这里列出我的发现。
确实没有这样的开箱即用的框架/实用程序,swing实际上只提供UI控件和组件,您必须自己编写数据绑定(bind)和验证代码,也由您来处理MDI(使用JInterfalFrames)或SDI(使用单个 JFrame 和一堆 jpanels)。
正如您所提到的,swing 并不容易实现 MVC,因为所有代码最终都可能位于 *Listeners 和 *Adapters 中。
您可以制作一个 POC 来尝试各种 swing 数据绑定(bind)框架,例如 JGoodies或Project Mogwai ,免责声明:两者都没有使用过。
如果项目允许,您可以尝试其他 Java UI 框架,例如 Apache Pivot或JavaFX它在将用户界面与行为分开方面做得更好。
抱歉我的英语不好。
关于java - 是否有适用于 Java Swing 的 MDI/SDI/TDI 框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28094406/
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我正在开发一个 .NET C# 应用程序,它有一个主窗体,它是 MDI 容器。当用户最大化 MDI 子项时,Windows 会在容器窗体的标题栏下方绘制一个控制条,其中包含子项的图标和右侧的系统按钮。
我有一个用 Delphi 2006 编写的 MDI 应用程序,它以默认主题运行 XP。 有没有办法控制 MDI 子项的外观以避免每个窗口上出现 XP 风格的大标题栏? 我尝试将 MDIChildren
我有一个包含面板的 MDI 父窗体。该面板包括图表和一些其他用户信息。当我从菜单中打开一个窗体时,新打开的窗体显示在 MDI 父面板下。如何显示所有 MDI 父控件上方的子窗体。我正在使用以下代码打开
我有一个 MDI 父窗体,它在运行时创建许多 MDI 子窗体。有没有一种聪明的方法可以在父级内部平均分配这些表格?有什么想法吗? 提前致谢! 最佳答案 **ArrangeIcons** chi
我想知道如何加载子表单,使其大小覆盖整个 MDI 父级的 MDI 容器空间(深灰色的东西)?将子窗体的 WindowState 设置为最大化不是一个选项,因为它也会最大化任何其他窗体。有建议吗? 最佳
我已经创建了一个父表单并为此引发了 ControlAdded 事件。并且还将此父窗体的属性 IsMdiContainer 设置为 true。然后,如果我创建一个名为 ChildForm1 和 Chil
我希望 MDI 父级自动调整子窗体的大小,使其在没有滚动条的情况下适合内部。有人可以提供一些代码吗? 我用它来区分父项和子项的大小,并将其添加到父项的大小,这样我就可以合身了。但它太手动了,制作时间太
我正在打开另一个 MDI 子窗体的 MDI 子窗体,它正在工作,但现在我必须以相同的方式关闭它,但没有任何反应。 这是我正在使用的代码示例: private void checkbox1_Checke
是否可以这样做,如果可以,怎么做? 我的应用程序的屏幕截图 最佳答案 您需要设置 AllowMerge property MenuStrip 的 false。 这将使子窗体上的 MenuStrip 保
我有一个带有多个子项的 MDI 表单,当我最大化一个 MDI 子项时,它会自动最大化所有子项。 我不想使用设置最大大小或设置最小大小属性。有什么办法可以防止mdi child 的这种行为吗? 最佳答案
我正在制作一个小型企业应用程序,我想知道最好的界面是什么。该应用程序本身就是您的普通服务票务跟踪器。将有用于搜索工单(带有结果网格)、创建新的勾选和查看现有工单、管理一些管理内容(用户、一些分类器等)
您好,我想打开来自 MDI Parent 的表格。 如果 For 已经打开,那么它应该被激活或打开新表格..现在我正在使用 foreach 循环。但我不想使用循环。 foreach (Form frm
我有一个 MDI 主窗体,一个显示子窗体的菜单项(我们称它为 frmEmployees),在这个窗体中有一个 Button (btnNew...) , 我如何从这里打开一个对话框 (frmNewEmp
我试图在 MDI 父级上检测我的 MDI 子级窗体何时关闭,并做出相应的 react 。在 MDI 子级关闭之前,MDI 父级不应执行任何操作。这是我的代码,我不确定我做错了什么,但是我添加的表单关闭
如何在正常创建的 MDI 窗口窗体中显示 WPF 窗体。 我们将表单创建为 MDI。增加菜单栏点击菜单会在主容器MDi窗体中显示wpf窗体。 private void newStudentToolS
我在子表单中有一个值(let CompanyId)。我想在 MDI 父窗体的级别中传递此值。 在子窗体中,我在数据 GridView 中从数据库中检索数据。现在我从数据 GridView 中选择一个值
我有一个带有此 FormClosing 事件处理程序的 MDI 父级: private void FrmMdiParent_FormClosing(object sender, FormClosing
有没有办法从用 Delphi 5 编写的 ActiveX dll 创建 MDI 子窗口,并将其嵌入到从 Delphi XE Windows 客户端应用程序创建的 MDI 父窗口中?如果没有,有没有办法
这个问题之前已经发布过,但我找不到一个好的答案。 我想在我的 WPF 应用程序中使用 MDI 子级。我希望这些 child 完全符合 WPF。 .Net WPF 不再有 MDI 子项(主窗口中的窗口)
我是一名优秀的程序员,十分优秀!