桌面应用程序中的布局

发布于 2024-12-29 21:55:09 字数 218 浏览 0 评论 0原文

我正在开发一个java桌面应用程序,其中包含许多具有不同和相同布局的面板。现在,当我想设置面板新布局时,我总是创建新布局。 EG

JPanel panel = new JPanel(new GridLayout(0, 1));

创建一些 LayoutFactory 并在此处创建我需要的所有布局然后设置到面板是正确的解决方案吗?

I am developing one java desktop application with a lots of panels with different and same layouts. Now when I want to set to panel new layout I always create new layout. E.G.

JPanel panel = new JPanel(new GridLayout(0, 1));

Is the correct solution to create some LayoutFactory and here create all the layouts that I need and then set to the panels?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

巡山小妖精 2025-01-05 21:55:09

1) 通过 new GridLayout(0, 1) 放置 JPanel 应该与 BorderLayout.CENTER 相同,或者可以使用 BoxLayout,在这种情况下,您整个 JPanel 只放置一个 JComponent

2) 最简单的方法是通过 Nested Layout 放置 JComponents,其中每个 Container 都可以有不同的 LayoutManager,相同的 LayoutManager 或其组合

3 )通过使用 GridBagLayoutMigLayout 可以(在大多数情况下)为整个容器放置每个 JComponents 一次,或者 <代码>JPanel

1) laying JPanel by new GridLayout(0, 1) should be same as BorderLayout.CENTER or possible by using BoxLayout, in this case you place only one JComponent for whole JPanel

2) easiest way is lay JComponents by Nested Layout where each of Container can have different LayoutManager, same LayoutManager or their combinations

3) by using GridBagLayout or MigLayout is possible (in most of cases) place every JComponents once time for whole container or JPanel

如若梦似彩虹 2025-01-05 21:55:09

hudi,如果你想让你的代码更简洁,你可以编写创建和分配布局的辅助方法。如果您仅在一个类中设置布局,则辅助方法可以是该类的私有方法。或者,如果您要在各种类中设置布局,则可以将受保护的辅助方法添加到公共超类(如果有的话),或者作为静态方法实用程序类。

发布您的代码详细信息,我们可以给出更具体的建议。

hudi, if you want to make your code more concise, you can write helper methods which create and assign the layouts. If you are setting up layouts in only one class, the helper methods can be private methods of that class. Or if you are setting up layouts in various classes, you may be able to add protected helper methods to a common superclass (if you have one), or as static methods on a utility class.

Post the details of your code and we can give more specific suggestions.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文