我基本上想要使用SplitPanel来填充我的MainFrame,这将占用MainFrame中的所有可用空间。我读到了一种方法是将BorderPanel添加到MainFrame,并将SplitPane添加到BorderPanel的中心。
object SwingApp extends SimpleSwingApplication {
def top = new MainFrame {
peer.setUndecorated(true) //with this hack it works but I don't feel like it's the purpose of the function
object splitPane extends SplitPane(Orientation.Vertical, new Button(), new Button())
contents = new BorderPanel {
import BorderPanel.Position._
val center = splitPane
layout(center) = Center
}
}
}
我的问题是BorderPanel似乎采用尽可能小的最小尺寸(此处为0),当我希望它实际填充整个框架时。
我在MainFrame中设置了一个解决方案
peer.setUndecorate(true)
但感觉很脏,通过阅读文档,我不知道它为什么会起作用。是不是有更好的方式?
答案 0 :(得分:0)
您可以使用BorderFactory
添加边框并指定厚度(此处为10)。
panel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0), 10));