gpt4 book ai didi

java - Java 中 JPanel 中的自动定位组件

转载 作者:行者123 更新时间:2023-12-02 08:02:45 25 4
gpt4 key购买 nike

我在运行时向 JPanel 添加一些 JCheckBox 组件。
我的问题是所有这些组件都添加在同一个地方。
所以他们互相展示。
有什么方法可以将它们设置为自动定位吗?
我的意思是,它们在 JPanel 中的前一个组件旁边找到了一个位置,并且我摆脱了手动定位它们。

谢谢

最佳答案

简短的答案是使用 LayoutManager。但是,LayoutManager 的工作方式非常不同,具体取决于您的需要。因此,您需要知道动态复选框的布局方式。 UI 中的可扩展部分将吸收可能的 N 个复选框。如果不知道您想要如何直观地布局组件,我无法真正建议您哪种布局管理器最适合您的情况。

关于 LayoutManagers 的一般建议是 TableLayout 是非常好的动态组件。它非常简单,而且仍然非常强大。比 GridBagLayout 表现更好,需要的代码少得多,并且比 SpringLayout 或 MigLayout 更容易理解。获取它,学习如何使用它,然后真正问问自己。

我真的需要动态构建我的复选框 UI 吗?或者我可以使用 CardLayout 中的一组简单面板来完成此操作,并根据某些输入在它们之间进行切换(这比运行时控件的动态布局简单得多) .

http://java.net/projects/tablelayout

JPanel panel = new JPanel( new TableLayout(...) ); // sets the LayoutManager used by JPanel
panel.add( new JCheckBox(), "1 2" ); // add to row 1 column 2

你明白了。

关于java - Java 中 JPanel 中的自动定位组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8660558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com