我正在创建一个 JComponents 容器,它看起来像钢琴键盘。黑键看起来像这样(Groovy)
def setBlackNotes(buttons) {
def octaves = (int)(buttons.size() / 5)
def gridLayout = new GridLayout(1, octaves*7);
def blackNotePanel = new JPanel(gridLayout)
this.add blackNotePanel
def i = 0
octaves.times {
2.times {
blackNotePanel.add buttons[i++]
}
blackNotePanel.add Box.createHorizontalBox()
3.times {
blackNotePanel.add buttons[i++]
}
blackNotePanel.add Box.createHorizontalBox()
}
}
这正是我所需要的,如下所示:
alt text http://dl.dropbox.com/u/2652228/Screen%20shot%202010-03-25%20at%208.10.07%20PM.png
但是我想将其向右移动半个键的宽度。 我所有将 blackNotePanel
移动任意宽度的尝试(将其包装为 BorderLayout、MigLayout 等)均失败或更改了 GridLayout 的间距彻底地。
关于如何将其向右移动任意像素量有什么建议吗?
最佳答案
向面板添加一个 EmptyBorder。您可以将左侧插图指定为您想要的任何内容。
关于java - Swing 布局中的钢琴键 : Left-Padding?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2518539/