2017-10-08 8 views
0

DesignFaire JPanel pour remplir l'espace entier à GridBagLayout en Java

Reportez-vous à l'image ci-dessus, mon panneau de contenu formulaire JPanel change en fonction du bouton sur lequel vous cliquez sur le panneau de la barre de navigation. Dans mon panneau de contenu, il y a un volet de bureau. Ceci est mon code pour l'un des boutons:

Panel1 = p1; 
Panel2 = p2; 
Panel3 = p3; 
Panel4 = p4; 
Panel5 = p5; 

public MainFrame() { 
     initComponents(); 

     GridBagLayout gbLayout = new GridBagLayout(); 

     p1 = new Panel1(); 
     p2 = new Panel2(); 
     p3 = new Panel3(); 
     p4 = new Panel4(); 
     p5 = new Panel5(); 

     desktop.setLayout(gbLayout); 
     desktop.add(p1); 
     desktop.add(p2); 
     desktop.add(p3); 
     desktop.add(p4); 
     desktop.add(p5); 
    } 

private void btn1Performed(java.awt.event.ActionEvent evt) {        
     pnl1.setVisible(true); 
     pnl2.setVisible(false); 
     pnl3.setVisible(false); 
     pnl4.setVisible(false); 
     pnl5.setVisible(false); 
    } 

J'ai aussi découvert que je ne peux utiliser GridBagLayout pour obtenir ce résultat, mais mon formulaire JPanel ne rempliront pas l'intégralité du panneau de contenu, j'ai aussi essayé changer la mise en page Border Layout que je vais obtenir le remplissage complet du résultat du panneau de contenu, mais il y aura un problème lors de l'affichage JPanel Form sur les clics sur les boutons, JPanel Form n'apparaîtra pas en utilisant Border Layout.

+0

Sur la base des opérations 'btn1Performed', je vous recommande de jeter un oeil à' CardLayout' – MadProgrammer

Répondre

1

Faire JPanel pour remplir l'espace entier à GridBagLayout en Java

Vous voulez regarder GridBagConstraints#weightx, GridBagConstraints#weightxy et GridBagConstraints#fill propriétés. Pour plus de détails, consultez How to Use GridBagLayout.

Sur la base des opérations dans btn1Performed, je tiens toutefois à vous suggérer de jeter un oeil à How to use CardLayout

+0

D'accord, je vous remercie, je Je vais vérifier :) –