我想在我的JButton
上留下默认边框,但也要在它们周围放置空白区域。我正在使用垂直BoxLayout
。
我最初对边框一无所知,得到了我想要的单像素LineBorder
s,但按钮都相互对接。
然后我尝试button[i].setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5))
。它不是在按钮周围添加空白区域,而是使按钮区域扩展。它还删除了LineBorder
。
然后我尝试了:button[i].setBorder(BorderFactory.createCompoundBorder( BorderFactory.createEmptyBorder(5, 5, 5, 5), button.getBorder()))
这让我回到LineBorder
,但不是在线外添加空格,而是将按钮区域扩展到线外!
我意识到我可以添加空白框来分隔我的按钮,但我也想在它们的两侧留出空间,这就是我想要添加EmptyBorder
的原因。我是Swing的新手,所以也许有一个更好的方法,我不知道这样做:)
我正在使用Jython,但API应该与Java相同。
答案 0 :(得分:5)
从概念上讲,您要添加的“空边框”实际上不是按钮的一部分(例如,它们不应该是可点击的。)
这实际上是布局问题,因此您应该检查您正在使用的布局管理器的文档。例如:
hgap
和vgap
属性,用于指定组件之间的水平和垂直间隙insets
。等等。
答案 1 :(得分:3)
我认为将按钮添加到面板并将空边框设置为面板会更简单。