我正在创建一个看起来像钢琴键盘的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 布局中的钢琴键:左移?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2518539/

10-10 22:39