Uvod u JPanel na Javi
JPanel je najjednostavnija klasa laganih spremnika koja je dio paketa java.swing. Može grupirati ili pohraniti skup komponenti zajedno, uglavnom za stvaranje korisničkog sučelja. Sličan je panelu u Sažetku priručnika alata za prozore (AWT). JPanel ne sadrži obrub, naslovnu traku ili traku izbornika. Iako postoji nekoliko upravitelja izgleda, FlowLayout je zadani upravitelj izgleda JPanela i nasljeđuje klasu JComponents. Ako komponenta mora biti priključena aplikaciji, JPanel pruža prostor. Dopustite nam da detaljno razumijemo JPanel u sljedećim odjeljcima.
Konstruktori JPanela na Javi
JPanel se može deklarirati pomoću sljedeće sintakse:
public class JPanel extends JComponent implements Accessible
JPanel neće biti kompletan bez konstruktora. Slijede različiti konstruktori koji se koriste u JPanelu.
- JPanel (): Budući da je FlowLayout zadani upravitelj izgleda, kreira se nova ploča s FlowLayoutom ako se zove ovaj konstruktor.
- JPanel (LayoutManager lm): Novi JPanel kreiran je s upraviteljem izgleda kao lm.
- JPanel (Boolean isDoubleBuffered): Novi JPanel kreira se sa spomenutom strategijom punjenja. Vrijednost može biti istinita ili lažna na temelju zahtjeva.
- JPanel (LayoutManager lm, Boolean isDoubleBuffered): Novi JPanel kreiran je sa specificiranim upravljačkim izgledom lm i strategijom punjenja.
Funkcije koje se koriste u JPanelu
Neke su uobičajene funkcije koje se koriste u JPanelu:
- getUIClassID (): Vraća se naziv i izgled (L&F) koji čini da se ova komponenta vraća.
- add (Component comp): Component comp dodan je navedenom spremniku.
- getAccessibleContext (): Vraća se AccessibleContext koji se odnosi na JPanel.
- getUI (): Vratiti i osjetiti (L&F) objekt koji čini ovu komponentu je vraćen.
- setLayout (LayoutManager lm): Izgled spremnika postavljen je na zadani upravitelj izgleda lm.
- setUI (PanelUI Pui): Postavljen je izgled i osjećaj (L&F) koji čini ovu komponentu.
- updateUI (): Trenutna vrijednost izgleda i osjećaja (L&F) resetira se s svojstvom korisničkog sučelja.
- paramString (): Vraća se nizovi JPanela.
Kako stvoriti ploču u Javi?
Kao što smo već raspravljali, JPanel klasa je iz paketa java.swing i podrazreda java.swing.JComponent.
1. JPanel objekt se stvara kao što je spomenuto u nastavku.
JPanel jp=new JPanel(); //jp is the object
2. Napravite klasu koja se proteže od klase JPanel.
public class jpclass extends JPanel()
(
//code to add the components
)
3. Upravitelj izgleda može se spomenuti ili ne treba temeljiti na zahtjevu.
Budući da je FlowLayout zadani, u primjeru možemo upotrijebiti neke druge rasporede.
JPanel jp=new JPanel(new BorderLayout);
JPanel jp=new JPanel(new GridBagLayout);
4. Strategija dvostrukog puferiranja može se primijeniti pomoću konstruktora JPanel (boolean isdoubleBuffered)
JPanel jp=new JPanel(true);//double buffering enables
JPanel jp=new JPanel(false); //double buffering disables
Nakon kreiranja panela u Javi, postavimo upravitelja izgleda za JPanel.
Da biste postavili izgled, koristite metodu setLayout (LayoutManager lm).
JPanel jp=new JPanel(new GridBagLayout);
Ovdje je postavljen GridBagLayout kao izgled. Ako sintaksu koristimo kao
JPanel jp=new JPanel();
Tada je izgled zadan kao FlowLayout.
Koraci za dodavanje komponenti u spremnik objašnjeni su u donjem odjeljku.
Kako dodati komponente u Java?
Za dodavanje komponenti poput gumba, JLabel, JTextfield itd. Koristit ćemo metodu add (). Budući da postoje različite verzije za add (), koja metoda se koristi ovisi o upravitelju izgleda ploče.
1. Metoda dodavanja (Component cmp) koristit će se za upravitelje izgleda kao što su GridLayout, FlowLayout, SpringLayout, BoxLayout.
JLabel jl = new JLabel("Username: ");
JTextField un= new JTextField(20);
jp.add(jl);
jp.add(un);
jp je objekt JPanela.
2. Metoda dodavanja (Component cmp, Object obj) koristit će se za upravitelje izgleda kao što su CardLayout, BorderLayout ili 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);
Ako koristimo GridBagLayout, GridBagConstraintsobject mora biti naveden kao drugi argument.
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);
Ako koristimo CardLayout, koristi se metoda add (String name, Component cmp). Ovdje je prvi argument naziv za Card.
JPanel cl = new JPanel(new CardLayout());
cl.add("A", step1Panel);
cl.add("B", step2Panel);
Program za implementaciju JPanela u Javi
Sada, pogledajmo program kako implementirati jednostavan JPanel u Javi.
// 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();
)
)
Izlaz :
U ovom programu se stvara ploča s gumbima i tekstualnim poljima. Pozadina sa zelenom bojom je također postavljena za ploču. Boje, veličina, broj gumba mogu se promijeniti na osnovu zahtjeva 0n.
Pretpostavimo da želimo stvoriti komponentu s BorderLayoutom. Jedina razlika u sintaksi spominje se u nastavku.
//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);
Slijedi izlaz uzorka za gornji BorderLayout.
Izlaz:
Zaključak - JPanel u Javi
JPanel je lagan jednostavan spremnik koji grupira skup komponenti. Izgled se može dodati spremniku na temelju zahtjeva korisnika. Iako je FlowLayout zadani, koristi se i drugi izgled poput BorderLayout, GridBagLayout, CardLayout. U ovom dokumentu objašnjavaju se različiti konstruktori i nekoliko drugih značajki JPanela.
Preporučeni članci
Ovo je vodič za JPanel na Javi. Ovdje smo raspravljali o tome kako stvoriti ploču i kako dodati komponente u Java, zajedno s implementacijom koda. Možete pogledati i sljedeće članke da biste saznali više -
- JScrollPane u Javi
- JTextField u Javi
- JDialog na Javi
- JComboBox na Javi
- JFrame u Javi
- JLabel u Javi