Tedd a JPanel csoport box csoport doboz, java swing és más Java

Egy érdekes tulajdonsága Java Swing komponensek az, hogy lehet beállítani a határ - a határon, a határ vagy a határt, mint szeretné. Van többféle border'ov, de figyelembe vesz minden nem akartam, és csak figyelni, hogy egy érdekes véleményem határon. Ez lehetővé teszi, hogy a határ egy tartály, például egy JPanel egy sajátos csoport Box. Ez a csoport Box tartalmazhat belül különböző alkatrészek, beleértve más tartály, hanem egy vizuális határt, amely felvázolja a kerülete a komponenst. Sőt, a bal felső sarokban beállíthatja a címke, amely viszi valami értelme, hogy mondjuk a felhasználó belsejében található vezérlők és vizuálisan különíteni a tartályt a másik, ha van egy tisztességes összeg a kérelem ablakot.

A kialakuló ilyen border'a történik BorderFactory gyár. A gyárban sok különböző módszerek, amelyek lehetővé teszik, hogy a különböző típusú border'ov. Ugyanakkor fontos számunkra egy módszert, amely létrehoz egy határ, ami egyfajta JPanel csoportpanelen. Ez a módszer createTitledBorder. Módszer paraméterként átadott string, amely box'a Group fejlécet. Border eljárás visszatér egy olyan tárgyat, akkor állítsa át a panelt setBorder módszerrel. Mindez így néz ki, az alábbiak szerint.

JPanel panel = új JPanel ();
Border = BorderFactory.createTitledBorder ( "Group Box cím");
panel.setBorder (határ);

Az első sorban a kód létrehozása panel. Ezután hozzon létre egy Border objektumot, majd a mércét egy újonnan létrehozott határ. Ez minden.

A hagyomány egy egyszerű példát. Megjelenése teszt alkalmazás az alábbi ábrán látható.

Tedd a JPanel csoport box csoport doboz, java swing és más Java

A forráskód az alábbiakban mutatjuk be.

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

import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.Border;

public class TestFrame

public static void createGUI () JFrame frame = new JFrame ( "Test frame");
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

JPanel mainPanel = új JPanel ();
mainPanel.setLayout (új BorderLayout ());

JPanel northPanel = új JPanel ();
Border northBorder = BorderFactory.createTitledBorder ( "Észak-panel");
northPanel.setBorder (northBorder);

JPanel southPanel = új JPanel ();
Border southBorder = BorderFactory.createTitledBorder ( "déli panel");
southPanel.setBorder (southBorder);

JPanel westPanel = új JPanel ();
Border westBorder = BorderFactory.createTitledBorder ( "nyugat panel");
westPanel.setBorder (westBorder);

JPanel eastPanel = új JPanel ();
Border eastBorder = BorderFactory.createTitledBorder ( "EAST panel");
eastPanel.setBorder (eastBorder);

JPanel centerPanel = új JPanel ();
Border centerBorder = BorderFactory.createTitledBorder ( "középső panel");
centerPanel.setBorder (centerBorder);

frame.setPreferredSize (új dimenzió (550, 400));
frame.pack ();
frame.setLocationRelativeTo (null);
frame.setVisible (true);
>

public static JLabel createEmptyLabel () JLabel label = new JLabel ();
label.setPreferredSize (új dimenzió (100, 30));
visszatérés címkén;
>

public static void main (String [] args) javax.swing.SwingUtilities.invokeLater (új futtatható () public void run () JFrame.setDefaultLookAndFeelDecorated (true);
createGUI ();
>
>);
>
>