Клавиши пианино в Swing Layout: левая обивка? - PullRequest
0 голосов
/ 25 марта 2010

Я создаю контейнер 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()

    }
}


Что именно то, что мне нужно, и выглядит так:

альтернативный текст http://dl.dropbox.com/u/2652228/Screen%20shot%202010-03-25%20at%208.10.07%20PM.png

но тогда я бы хотел переместить это вправо на полшага. Все мои попытки переместить blackNotePanel на произвольную ширину - оборачивая его в BorderLayout, MigLayout и т. Д. - провалились или радикально изменили интервал GridLayout.

Любые предложения о том, как переместить это вправо на произвольную величину в пикселях?

1 Ответ

3 голосов
/ 25 марта 2010

Добавить EmptyBorder на панель. Вы можете указать левую вставку так, как хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...