2013-05-02 5 views
0

Je souhaite ajouter des boutons dans Border Layout l'un après l'autre. Mais je ne sais pas comment . Cest une partie de mon code:Ajouter des boutons dans la mise en page des bordures

setLayout(new BorderLayout()); 
JPanel jp = new JPanel(); 
jp.setBackground(Color.BLUE); 
JPanel jp2 = new JPanel(); 
jp2.setBackground(Color.LIGHT_GRAY); 
JPanel jp3 = new JPanel(); 
jp3.setBackground(Color.WHITE); 

add(jp, BorderLayout.SOUTH); 
add(jp2, BorderLayout.EAST); 
add(jp3, BorderLayout.WEST); 

jp.add(btn, BorderLayout.WEST); 
jp.add(btn2, BorderLayout.CENTER); 
jp.add(btn3, BorderLayout.EAST); 

jp2.add(btn4, BorderLayout.NORTH); 
jp2.add(btn5, BorderLayout.NORTH); 
jp2.add(btn6, BorderLayout.CENTER); 
jp2.add(btn7, BorderLayout.SOUTH); 
jp2.add(btn8, BorderLayout.SOUTH); 

Mais ajouter des boutons côte à côte. Je suis programmeur débutant et je ne sais vraiment pas comment le faire.

Répondre

1

BorderLayout n'est pas adapté à ce que vous voulez - il ne supporte que l'une des composantes pour chaque contrainte (NORD, SUD ...)

Utilisez une autre disposition, il y a beaucoup d'options, comme Gridlayout, GridBagLayout.

J'utiliserais TableLayout, c'est une disposition très flexible - voir l'adresse de la page d'accueil ci-dessous. www.clearthought.info/sun/products/jfc/tsc/articles/tablelayout/

1

JPanel a initialement FlowLayout, qui place les composants côte à côte. Au lieu de new JPanel(), utilisez new JPanel(new BorderLayout())

+1

De plus, 'BorderLayout' remplace les composants au lieu d'ajouter des multiples. – afk5min

+0

Ok, je l'ai essayé. – user2344333

+0

Exactement, comme @ afk5min mentionné, votre bttn4 et bttn7 seront remplacés par bttn5 et bttn8 resp. –

Questions connexes