【问题标题】:Piano Keys in Swing Layout: Left-Padding?Swing 布局中的钢琴键:左填充?
【发布时间】:2010-03-26 03:17:10
【问题描述】:

我正在创建一个看起来像钢琴键盘的 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 的间距。

关于如何将其向右移动任意像素量的任何建议?

【问题讨论】:

    标签: java swing layout


    【解决方案1】:

    在面板中添加一个 EmptyBorder。您可以将左插图指定为您想要的任何内容。

    【讨论】:

    • 谢谢,太棒了。我最终会在每次调整大小时添加一个新的 EmptyBorder,但它是难以察觉的。
    猜你喜欢
    • 1970-01-01
    • 2019-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多