如何使用Java Swing布局整齐地缩进某些组件

Jas*_*son 5 java layout swing swt grid-layout

使用Swing,在复选框或单选按钮下面缩进某些组件的最佳方法是什么?我需要在Firefox 3.6的Options-> Privacy对话框中创建一些东西,其中一些复选框在"main"复选框下缩进.我可以使用任何标准的AWT/Swing布局,包括GroupLayout.我也有JGoodies FormLayout可供我使用.我首先尝试在FormLayout中使用setLeadingColumn偏移量,但似乎除非我在分隔符下进行缩进,否则它将无法正常工作.也许我只是做错了?

是否有类似SWT GridLayout的horizo​​ntalIndent设置?那将是完美的.

我正在使用JDK1.6.0_23.

Ste*_*rie 3

做这件事有很多种方法:

  1. 将每个组件的边框设置为:new EmptyBorder (0, 10, 0, 0)

  2. 使用 aGridBagLayout并使用 anInset (0, 10, 0, 0)填充左侧。

  3. 使用 aGridBagLayout并使主复选框跨越两列,而子复选框则通过将它们放置在最右边的列中来偏移。

  4. 提供自定义复选框图标,在其左侧边缘添加一些空白区域。

ETC。

我的建议是学习GridBagLayout- 它使用起来有点笨拙,但它确实为您提供了几乎所有您想要的布局功能。当您需要特定的自动列大小调整行为时,如果您没有一些额外的代码,GBL 不会为您提供,JGoodies 的东西非常有用。