Bevezetés a JPanelhez a Java-ban
A JPanel a legegyszerűbb, könnyű tartályosztály, amely a java.swing csomag része. Csoportosíthatja vagy tárolhatja az összetevők halmazát, főleg felhasználói felület létrehozása céljából. Ez hasonló az Absztrakt ablak eszközkészlet (AWT) paneljéhez. A JPanel nem tartalmaz szegélyt, címsort vagy menüsort. Annak ellenére, hogy létezik több elrendezéskezelő, a FlowLayout a JPanel alapértelmezett elrendezéskezelője, és a JComponents osztályt örököli. Ha egy komponenst csatolni kell egy alkalmazáshoz, a JPanel helyet biztosít. Megértjük a JPanel részleteit a következő szakaszokban.
A JPanel építői Java-ban
A JPanel a következő szintaxissal deklarálható:
public class JPanel extends JComponent implements Accessible
A JPanel konstruktorok nélkül nem lesz teljes. Az alábbiakban bemutatjuk a JPanelben használt különféle konstruktorokat.
- JPanel (): Mivel a FlowLayout az alapértelmezett elrendezéskezelő, egy új panel jön létre a FlowLayout használatával, ha ezt a konstruktort hívják.
- JPanel (LayoutManager lm): Új JPanel jön létre az elrendezéskezelővel mint lm.
- JPanel (logikai isDoubleBuffered): Új JPanel jön létre az említett pufferelési stratégiával. Az érték lehet igaz vagy hamis a követelmény alapján.
- JPanel (LayoutManager lm, logikai isDoubleBuffered): Új JPanel jön létre a megadott elrendezéskezelő lm és pufferelési stratégiával.
A JPanelben használt funkciók
A JPanel által használt általános funkciók némelyike a következő:
- getUIClassID (): Az összetevőt megjelenítő megjelenési és megjelenési osztálynév visszaadásra kerül.
- add (Component comp): Az Component comp hozzáadódik a megadott tartályhoz.
- getAccessibleContext (): A JPanelhez kapcsolódó AccessibleContext visszatér.
- getUI (): Az összetevőt megjelenítő megjelenés és érzés (L & F) objektum visszaadásra kerül.
- setLayout (LayoutManager lm): A tároló elrendezését a megadott elrendezéskezelő lm-re állítja.
- setUI (PanelUI Pui): A megjelenés és érzés (L & F) objektum, amely ezt az összetevőt megjeleníti, beállítva.
- updateUI (): Az aktuális megjelenés és érzés (L & F) értékét visszaállítja a felhasználói felület tulajdonsága.
- paramString (): A JPanel karakterlánc ábrázolása visszatér.
Hogyan hozhatunk létre panelt Java-ban?
Mint már említettük, a JPanel osztály a java.swing csomag és a java.swing.JComponent alosztálya.
1. A JPanel objektum az alábbiak szerint jön létre.
JPanel jp=new JPanel(); //jp is the object
2. Hozzon létre egy osztályt, amely kiterjed a JPanel osztályra.
public class jpclass extends JPanel()
(
//code to add the components
)
3. Az elrendezéskezelő megemlíthető, vagy nem, a követelmény alapján.
Mivel az alapértelmezett FlowLayout, a példában más elrendezéseket is használhatunk.
JPanel jp=new JPanel(new BorderLayout);
JPanel jp=new JPanel(new GridBagLayout);
4. A dupla pufferelési stratégia alkalmazható a JPanel konstruktor segítségével (boolean isdoubleBuffered)
JPanel jp=new JPanel(true);//double buffering enables
JPanel jp=new JPanel(false); //double buffering disables
Miután létrehozta a Java programot a panelen, állítsa be az elrendezéskezelőt a JPanel számára.
Az elrendezés beállításához használja a setLayout (LayoutManager lm) módszert.
JPanel jp=new JPanel(new GridBagLayout);
Itt egy GridBagLayout van beállítva elrendezésként. Ha a szintaxist mint
JPanel jp=new JPanel();
Ezután az elrendezést alapértelmezés szerint FlowLayout-ra állítja.
Az összetevőknek a tárolóba történő felvételének lépéseit az alábbi szakasz ismerteti.
Hogyan lehet összetevőket hozzáadni a Java-hoz?
Az összetevők, például a gomb, a JLabel, a JTextfield stb. Hozzáadásához az add () metódust fogjuk használni. Mivel az add () -hez különféle verziók vannak, az alkalmazott módszer a panel elrendezés-kezelőjétől függ.
1. Az Add (Component cmp) módszert olyan elrendezés-kezelőkre használják, mint például a GridLayout, FlowLayout, SpringLayout, BoxLayout.
JLabel jl = new JLabel("Username: ");
JTextField un= new JTextField(20);
jp.add(jl);
jp.add(un);
A jp a JPanel tárgya.
2. Az Add (Component cmp, Object obj) metódust olyan elrendezéskezelőkhöz kell használni, mint például a CardLayout, BorderLayout vagy GridBagLayout.
JPanel jp = new JPanel(new BorderLayout());
JLabel jl = new JLabel("Username:");
JTextField un = new JTextField(40);
jp.add(label, BorderLayout.NORTH);
jp.add(userName, BorderLayout.WEST);
Ha GridBagLayout-t használunk, akkor a GridBagConstraintsobject-et második argumentumként kell átadni.
GridBagConstraints cn = new GridBagConstraints();
cn.anchor = GridBagConstraints.WEST;
cn.insets = new Insets(10, 10, 10, 10);
cn.gridx = 0;
cn.gridy = 0;
jp.add(labelUsername, constraints);
Ha CardLayout-ot használunk, add (String name, Component cmp) módszert használunk. Itt az első érv a Card neve.
JPanel cl = new JPanel(new CardLayout());
cl.add("A", step1Panel);
cl.add("B", step2Panel);
Program a JPanel végrehajtásához Java-ban
Most nézzük meg az egyszerű JPanel Java alkalmazásba léptetésére szolgáló programot.
// java Program to create a simple JPanel add components to it
import java.awt.*;
import javax.swing.*;
//A sub class is created b extending JFrame
class JPanelProgram extends JFrame (
// creates a JFrame
static JFrame fr;
// creates JButton
static JButton bt, bt1, bt2;
//creates JLabel that helps in displaying the text
static JLabel lb;
// main class
public static void main(String() args)
(
// A new frame is created to store buttons
fr= new JFrame("Panel");
// Label to display text is created
lb= new JLabel("Panel's Label");
//new buttons are created
bt = new JButton("A Button");
bt1 = new JButton("B Button");
bt2 = new JButton("C Button");
//Panel to add buttons is created
JPanel p = new JPanel();
//Add buttons and text field to panel
p.add(bt);
p.add(bt1);
p.add(bt2);
p.add(lb);
// set the background color of panel
p.setBackground(Color.green);
// add panel to frame
fr.add(p);
// set the size of frame
fr.setSize(400, 300);
fr.show();
)
)
Teljesítmény :
Ebben a programban egy panel készül gombokkal és szövegmezőkkel. A panelen zöld színű háttér is beállítva. A színek, a méret és a gombok száma megváltoztatható a 0n igény alapján.
Tegyük fel, hogy egy komponenst akarunk létrehozni a BorderLayout segítségével. Az egyetlen különbséget a szintaxisban az alábbiakban említjük.
//Panel to add buttons is created
JPanel jp = new JPanel(new BorderLayout());
//Add buttons and text field to panel
jp.add(bt, BorderLayout.NORTH);
jp.add(bt1, BorderLayout.SOUTH);
jp.add(bt2, BorderLayout.CENTER);
Az alábbiakban bemutatjuk a fenti BorderLayout mintát.
Kimenet:
Következtetés - JPanel Java
A JPanel egy könnyű, egyszerű tárolóedény, amely egyesíti az alkatrészek halmazát. Az elrendezés hozzáadható a tárolóhoz a felhasználó igényei alapján. Annak ellenére, hogy a FlowLayout az alapértelmezett, más elrendezéseket, például BorderLayout, GridBagLayout, CardLayout is használnak. Ebben a dokumentumban ismertetjük a JPanel különféle konstruktorait és számos más tulajdonságát.
Ajánlott cikkek
Ez egy útmutató a JPanelhez Java-ban. Itt tárgyaljuk, hogyan lehet létrehozni egy panelt, és hogyan lehet összetevőket hozzáadni a java-hoz, a kód implementációval együtt. A következő cikkeket is megnézheti további információkért -
- JScrollPane Java-ban
- JTextField Java
- JDialog Java
- JComboBox Java
- JFrame Java
- JLabel Java