Folosind jpanel panouri de container, java swing și alte java

Când construiți interfețe, aveți nevoie de componentele-containere, care vor conține alte componente ale interfeței de utilizator. În Swing, unul dintre aceste componente ale containerului este JPanel. Implicit, JPanel în sine nu face nimic, cu excepția fundalului. Atunci când se lucrează cu containere, dezvoltatorul trebuie să rezolve, de regulă, două probleme principale. Primul este de a stabili locația componentelor copil și al doilea este de a adăuga componente la container.

Luați în considerare prima problemă - stabilirea locației componentelor copilului. În Swing, există un mecanism pentru Layout Manager pentru a defini structura locației componentelor copil pe container. În plus, Layout Manager determină modul în care componentele vor reacționa la redimensionarea containerului părinte. Setați Managerul de Layout pentru container folosind metoda setLayout. A doua problemă este adăugarea unei componente. Adăugarea unei componente se face folosind metoda de adăugare. Ca parametri pentru această metodă, componenta adăugată este transferată, precum și alte obiecte responsabile pentru localizarea componentei. Să luăm în considerare un exemplu de panou care va utiliza aspectul de frontieră ca manager de aspect.

Folosind jpanel panouri de container, java swing și alte java

Codul sursă este prezentat mai jos.

import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public Class test

public void static createGUI () JFrame.setDefaultLookAndFeelDecorated (adevărat);
Cadru JFrame = noul JFrame ("cadrul de testare");
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

Panoul JPanel = nou JPanel ();
panel.setLayout (nou BorderLayout ());

JButton northButton = noul JButton ("Nord");
panel.add (NorthButton, BorderLayout.NORTH);

JButton southButton = noul JButton ("Sud");
panel.add (SouthButton, BorderLayout.SOUTH);

JButton eastButton = noul JButton ("Est");
panel.add (eastButton, BorderLayout.EAST);

JButton vestButton = noul JButton ("Vest");
panel.add (westButton, BorderLayout.WEST);

JButton centerButton = noul JButton ("Center");
panel.add (centerButton, BorderLayout.CENTER);

frame.getContentPane () adăugați (panou);
frame.setPreferredSize (dimensiune nouă (500, 400));

frame.pack ();
frame.setVisible (adevărat);
frame.setLocationRelativeTo (null);
>

public static void principal (String [] args) javax.swing.SwingUtilities.invokeLater (noul Runnable () public void run () createGUI ();
>
>);
>
>