java - 如何在 Jbutton 的边缘周围添加一个间隙?

标签 java swing user-interface layout jython

我想在我的 JButton 上保留默认边框,但也在它们周围放置空白区域。我正在使用垂直 BoxLayout

  • 我最初对边框只字未提,得到了我想要的单像素 LineBorder,但按钮都相互靠在一起。

  • 然后我尝试了 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 中的相同。

最佳答案

从概念上讲,您要添加的“空白边框”实际上并不是按钮的一部分(例如,它们不应该是可点击的)。

这实际上是布局问题,因此您可能应该查看所用布局管理器的文档。例如:

等等。

关于java - 如何在 Jbutton 的边缘周围添加一个间隙?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6869341/

相关文章:

java - 在Java中验证Http请求的方法?

Java Swing : overlay components for light and heavyweight components?

java - 如何在 Java 中将 GUI 文件作为另一个类的线程来运行?

java - JAVA GUI 中的复选框菜单项 Decrypt

xcode - Xcode 的 Mac OS 编程中类似文件浏览器的元素

java - 将文件系统条目加载到内存映射文件(NIO2)的最快、最干净的方法

java - 在 Maven 2 中,我如何知道传递依赖来自哪个依赖?

java - Java 中的大数

java - 添加新组件时(每当按下按钮时)是否有更简单的方法将 'older' 组件向下移动?

java - JFrame 类转换为 NetBeans Designer 支持的 JFrame 类