Touches de piano dans la mise en page Swing: gauche Rembourrage?
Question
Je suis en train de créer un conteneur de JComponents qui ressemblera à un clavier de piano. Les touches noires ressemblent à ceci (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()
}
}
Ce qui est exactement ce que j'ai besoin, et ressemble à ceci:
alt texte http://dl.dropbox.com/u/2652228/Screen%20shot%202010-03-25%20at%208.10.07%20PM.png
mais je voudrais passer la parole à droite par une demi-clé largeur. Toutes mes tentatives pour déplacer le blackNotePanel
sur par une largeur arbitraire - l'enveloppant d'un BorderLayout, un MigLayout, etc. - ont échoué ou changé l'espacement des GridLayout radicalement
Toutes les suggestions sur la façon de déplacer ce vers la droite d'un montant arbitraire en pixels?
La solution
Ajoutez un EmptyBorder au panneau. Vous pouvez spécifier l'encart à gauche pour être tout ce que vous voulez.