O caracteristică interesantă a componentelor Java Swing este faptul că acestea pot seta frontiera - o graniță, o graniță sau limita, după cum doriți. Există mai multe tipuri de border'ov, dar ia în considerare tot ce nu am vrut, și să acorde o atenție doar una interesantă în opinia mea de frontieră. Acest lucru vă permite să facă o frontieră a unui container, cum ar fi un JPanel, un grup cutie aparte. Această casetă poate conține în interiorul Grupa componente diferite, inclusiv alte recipiente, dar, de asemenea, are o graniță vizuală, care prezintă perimetrul componentei. Mai mult decât atât, în colțul din stânga sus puteți seta eticheta care va purta un sens, pentru a spune utilizatorul situat în interiorul comenzilor și a separa vizual recipientul de altă parte, în cazul în care există o cantitate decentă a ferestrei de aplicație.
Crearea unei astfel de border'a se face prin fabrica BorderFactory. În fabrica există mai multe metode diferite, care vă permit să creați diferite tipuri de border'ov. Cu toate acestea, este important pentru noi o metodă care creează o graniță care face un fel de JPanel GroupBox. Această metodă este createTitledBorder. Metoda ca parametru a trecut la un șir de caractere care va box'a antet de grup. Metoda de frontieră returnează un obiect pe care apoi ne-am stabilit la panoul folosind metoda setBorder. Toate acestea arata ca acest lucru, așa cum se arată mai jos.
JPanel panel = new JPanel ();
de frontieră de frontieră = BorderFactory.createTitledBorder ( "Caseta Group din titlu");
panel.setBorder (de frontieră);
Prima linie a panoului de cod creare. Apoi a crea un obiect de frontieră și apoi setați bara de la o frontieră nou creată. Asta e tot.
Prin tradiție, un exemplu simplu. cerere de testare Aspect este prezentat mai jos.
Codul sursă este prezentat mai jos.
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
static void createGUI () cadru JFrame publice = new JFrame ( "cadru de testare");
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
JPanel mainPanel = new JPanel ();
mainPanel.setLayout (nou BorderLayout ());
JPanel northPanel = new JPanel ();
Border northBorder = BorderFactory.createTitledBorder ( "panel NORTH");
northPanel.setBorder (northBorder);
JPanel southPanel = new JPanel ();
Border southBorder = BorderFactory.createTitledBorder ( "panel SOUTH");
southPanel.setBorder (southBorder);
JPanel westPanel = new JPanel ();
Border westBorder = BorderFactory.createTitledBorder ( "panoul de vest");
westPanel.setBorder (westBorder);
JPanel eastPanel = new JPanel ();
Border eastBorder = BorderFactory.createTitledBorder ( "panel EAST");
eastPanel.setBorder (eastBorder);
JPanel centerPanel = new JPanel ();
centerBorder Border = BorderFactory.createTitledBorder ( "panel CENTER");
centerPanel.setBorder (centerBorder);
frame.setPreferredSize (Nou Dimensiune (550, 400));
frame.pack ();
frame.setLocationRelativeTo (null);
frame.setVisible (true);
>
statică JLabel createEmptyLabel () eticheta publică JLabel = new JLabel ();
label.setPreferredSize (Nou Dimensiune (100, 30));
a reveni eticheta;
>
statice void main (String [] args) publice javax.swing.SwingUtilities.invokeLater (nou Runnable () public void run () JFrame.setDefaultLookAndFeelDecorated (true);
createGUI ();
>
>);
>
>