java - Swing 布局中的钢琴键 : Left-Padding?

标签 java swing layout

我正在创建一个 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/

相关文章:

java - 如何过滤ListView中的内容

java - 当框架最大化时,滚动 Pane 消失

java - 组打破了 JGraphX 中的层次布局

jquery - CSS/JQuery : A scrolling, 覆盖 div 和居中布局 - 如何将其置于固定位置?

html - CSS 背景

java - 如果一个线程试图获取它已经持有的锁会发生什么?

java - android 应用程序中的红外线实现导致它崩溃

Java字符串用正则表达式分割

java - 没有默认按钮的 JDialog

java - 设置新的 setContentView 时 MediaPlayer 被销毁