我正在学习Java上的一些GUI内容,我想我在这里遗漏了一些东西。 我有一些使用BoxLayout垂直列出的组件,比如一些JButtons一个在其他上面。现在我想将它们分开,在它们之间画一条线。我是否必须使用图形库,或者是否有一些Swing方法用线分隔组件?
直接回答问题:如何绘制一条线来分隔组件(例如JButton)以及推荐的方法?
谢谢!
答案 0 :(得分:10)
JSeparator
的here通常用于此上下文。它适用于大多数布局。另外,请考虑How to Use Borders。
附录:给定外观和放大器的JSeparator
UI代表;通常以BasicSeparatorUI
为模型的感觉特别简单。它的paint()
实现在前景色中绘制一个像素线,在背景色中绘制相邻的一个像素线。线条与组件的边界一样宽(或高),具体取决于方向。布局管理器确定间距,因此您需要查看A Visual Guide to Layout Managers。
答案 1 :(得分:3)
JSeparator返回奇怪的大小提示,最大的问题是像BoxLayout这样最大的布局管理器是无限制的最大值,另见recent discussion(关于垂直分隔符,水平相同)