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 -

  1. JScrollPane u Javi
  2. JTextField u Javi
  3. JDialog na Javi
  4. JComboBox na Javi
  5. JFrame u Javi
  6. JLabel u Javi

Kategorija: