JLayeredPane - JLayeredPane täielik juhend näidetega

Lang L: none (table-of-contents):

Anonim

Sissejuhatus programmi JLayeredPane

JLayeredPane on Swing-komponent, mis võimaldab meil lisada komponente erinevasse kihti. „Erineva kihi” levinum näide on hüpik JLayeredPane. Kui peame näitama mõnda dialoogi, hoiatust või teavet, kasutame hüpikakent. Seda on võimalik saavutada JLayeredPane'i abil.

Deklaratsioon:

public class JLayeredPane extends JComponent implements Accessible

JLayeredPane kihid

Siin on mõned JLayeredPane kihid, mida on allpool üksikasjalikult selgitatud:

  • DEFAULT_LAYER: See on standardne ja alumine kiht, kuhu sisestatakse enamik komponente.
  • PALETTE_LAYER: see JLayeredPanesitsi kiht ületab vaikekihi ja on kasulik hõljuvate tööriistaribade ja palettide jaoks.
  • MODAL_LAYER: seda JLayeredPane kihti kasutatakse mudelidialoogide jaoks ja see kuvatakse paleti kihi kohal.
  • POPUP_LAYER: seda JLayeredPaneise kihti näidati hüpikaknaid modaalse kihi kohal.
  • DRAG_LAYER: komponent kuvatakse selles kihis ( hüpikihi kohal), samal ajal lohistades. Kui lohistamine on lõppenud, kuvatakse komponent algses kihis.

Konstruktori üksikasjad: see on ainus konstruktor, mis loob JLayeredPane'i.

public JLayeredPane()

Meetodi üksikasjad JLayeredPane'i kohta

Siin on mõned meetodid, mida kasutame, mida selgitatakse JLayeredPane allpool:

1. kaitstud tühine addImpl (komponendi komp., Objekti piirangud, int indeks): see meetod lisab komponendi sellesse konteinerisse määratud indeksiga. Samuti antakse LayoutManagerile teade lisada määratud komponent selle konteineri paigutusele, kasutades selleks määratud piiranguid. Selle jaoks kasutatakse meetodit addLayoutComponent.

2. public void remove (int index): see meetod eemaldab komponendi selle paani täpsustatud indeksist.

3. public void removeAll (): eemaldab sellelt paanilt kõik komponendid.

4. avalik boolean isOptimizedDrawingEnabled (): Kui paani kihid võivad kattuda, muudab see optimeeritud joonistamise võimatuks ja tagastab vale. Muidu tõsi.

5. avalik staatiline void putLayer (JComponent c, int-kiht): see meetod seab JComponent-i kihi. See meetod ei põhjusta selliseid kõrvaltoimeid nagu värvimine, lisamine, eemaldamine jne. Nende kõrvaltoimete saamiseks võite kasutada meetodit setLayer ().

6. avalik staatiline int getLayer (JComponent c): See meetod tagastab määratud JComponenti kihi atribuudi.

7. avalik staatiline JLayeredPane getLayeredPaneAbove (komponent c): see meetod tagastab esimese JLayeredPane'i, mis sisaldab täpsustatud komponenti, või tagastab väärtuse nulli, kui JLayeredPane'i ei leita.

8. public void setLayer (komponent c, int-kiht): see meetod seab määratud komponendi atribuudi JLayeredPane. See muudab komponendi määratud kihis madalaimaks.

9. public void setLayer (komponent c, int-kiht, int-positsioon): see meetod seab määratud komponendi kihi atribuudi ja määrab komponendi positsiooni selles kihis.

10. public int getLayer (komponent c): see meetod tagastab määratud komponendi kihi atribuudi.

11. public int getIndexOf (komponent c): see meetod tagastab paanil määratud komponendi indeksi, ignoreerides kihte. Ülemine komponent on indeksi juures null ja madalaim komponent on kõrgeima indeksi korral.

12. public void moveToFront (komponent c): see meetod viib määratud komponendi praeguses kihis ülespoole (positsioon 0).

13. public void moveToBack (komponent c): see meetod viib määratud komponendi praeguses kihis põhja (positsioon -1) allapoole.

14. public void setPosition (komponent c, int positsioon): see meetod seab määratud komponendi positsiooni kihis, kus 0 on ülaserv ja –1 on kõige alumine.

15. public int getPosition (komponent c): see meetod tagastab komponendi suhtelise positsiooni kihis.

16. public int maximumLayer (): see meetod tagastab kõigi praeguste laste kõrgeima kihi väärtuse. Kui lapsi pole, tagastab see 0.

17. public int madalaim kiht (): See meetod tagastab kõigi praeguste laste madalaima kihi väärtuse. Kui lapsi pole, tagastab see 0.

18. avalik int getComponentCountInLayer (int-kiht): see meetod tagastab täpsustatud kihis praegu viibivate laste arvu.

19. public Component () getComponentsInLayer (int layer): See meetod tagastab komponendid massiivis, mis asub täpsustatud kihis.

20. public void paint (graafika g): see meetod värvib selle JLayeredPane'i määratletud graafilises kontekstis.

21. kaitstud hashtable getComponentToLayer (): see meetod tagastab HashTable'i, mis kaardistab komponendid kihtidesse.

22. kaitstud täisarv getObjectForLayer (int-kiht): see meetod tagastab täpsustatud kihiga seotud täisarvu.

23. kaitstud int insertIndexForLayer (int-kiht, int-positsioon): see meetod määrab kindlaks ja tagastab uue lapse sisestamiseks õige kihi ja asukoha alusel õige asukoha.

24. kaitstud string paramString (): See meetod tagastab selle paani stringi esituse. Seda meetodit kasutatakse silumisel sisemiselt.

25. public AccessibleContext getAccessibleContext (): See meetod tagastab selle paaniga seotud AccessibleContext.

JLayeredPane'i näide

Allpool on toodud näide JLayeredPane'ist koos selgitustega:

Kood:

import java.awt.Color;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLayeredPane;
public class JLayeredPaneDemo (
public static void main(String() args) (
JFrame frame = new JFrame("JLayeredPane Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(520, 530);
JLayeredPane jLayeredPane = new JLayeredPane();
JButton jButton1 = new JButton("Open");
jButton1.setBackground(Color.green);
jButton1.setBounds(175, 50, 150, 100);
jLayeredPane.add(jButton1, JLayeredPane.DEFAULT_LAYER);
JButton jButton2 = new JButton("Open");
JButton jButton3 = new JButton("Close");
jButton2.setVisible(false);
jButton3.setVisible(false);
jButton2.setBackground(Color.RED);
jButton3.setBackground(Color.RED);
jButton2.setBounds(75, 125, 150, 100);
jButton3.setBounds(275, 125, 150, 100);
jLayeredPane.add(jButton2, JLayeredPane.PALETTE_LAYER);
jLayeredPane.add(jButton3, JLayeredPane.PALETTE_LAYER);
JButton jButton4 = new JButton("Open");
JButton jButton5 = new JButton("Close");
jButton4.setVisible(false);
jButton5.setVisible(false);
jButton4.setBackground(Color.MAGENTA);
jButton5.setBackground(Color.MAGENTA);
jButton4.setBounds(95, 200, 150, 100);
jButton5.setBounds(255, 200, 150, 100);
jLayeredPane.add(jButton4, JLayeredPane.MODAL_LAYER);
jLayeredPane.add(jButton5, JLayeredPane.MODAL_LAYER);
JButton jButton6 = new JButton("Open");
JButton jButton7 = new JButton("Close");
jButton6.setVisible(false);
jButton7.setVisible(false);
jButton6.setBackground(Color.CYAN);
jButton7.setBackground(Color.CYAN);
jButton6.setBounds(75, 275, 150, 100);
jButton7.setBounds(275, 275, 150, 100);
jLayeredPane.add(jButton6, JLayeredPane.POPUP_LAYER);
jLayeredPane.add(jButton7, JLayeredPane.POPUP_LAYER);
JButton jButton8 = new JButton("Close");
jButton8.setVisible(false);
jButton8.setBackground(Color.GRAY);
jButton8.setBounds(175, 350, 150, 100);
jLayeredPane.add(jButton8, JLayeredPane.DRAG_LAYER);
frame.add(jLayeredPane);
frame.setVisible(true);
jButton1.addActionListener(e -> (
jButton2.setVisible(true);
jButton3.setVisible(true);
));
jButton2.addActionListener(e -> (
jButton4.setVisible(true);
jButton5.setVisible(true);
));
jButton3.addActionListener(e -> (
jButton2.setVisible(false);
jButton3.setVisible(false);
));
jButton4.addActionListener(e -> (
jButton6.setVisible(true);
jButton7.setVisible(true);
));
jButton5.addActionListener(e -> (
jButton4.setVisible(false);
jButton5.setVisible(false);
));
jButton6.addActionListener(e -> (
jButton8.setVisible(true);
));
jButton7.addActionListener(e -> (
jButton6.setVisible(false);
jButton7.setVisible(false);
));
jButton8.addActionListener(e -> (
jButton8.setVisible(false);
));
)
)

Seletus

Selles näites oleme rakendanud programmi, mis näitab JLayeredPane'i erinevaid kihte ja kuidas komponente paanilt sisestada / eemaldada.

  • Esiteks oleme loonud raami ja lisanud sellele JLayeredPane.
  • Seejärel lisati nupud JLayeredPane'i erinevates kihtides.
  • Nuppudele on lisatud tegevuskuulajad järgmise kihi näitamiseks või peitmiseks.
  • Nuppude asukoht kihiga on seatud nii, et see näeks korralikult välja.

Väljund:

1. See on meie rakendus ja see roheline nupp lisatakse kõige alumisse kihti.

2. Kui kasutaja klõpsab roheliselt nuppu esimesest kihist, avatakse teine ​​kiht.

3. Kui klõpsatakse teises kihis avatud nuppu, avatakse JLayeredPane'is kolmas kiht.

4. Kui klõpsatakse avamisnupul kolmandas kihis, avatakse neljas kiht.

5. Kui klõpsatakse neljandas kihis avatud nuppu, avatakse viies kiht.

6. Kui klõpsate viiendas kihis sulgemisnuppu, suletakse JLayeredPane kiht.

7. Kui klõpsate neljandas kihis sulgemisnuppu, suletakse JLayeredPane kiht.

8. Kui klõpsate sulgemisnupule kolmandas kihis, suletakse JLayeredPane kiht.

9. Kui klõpsatakse sulgemisnupule teises kihis, kiht suletakse.

Järeldus

JLayeredPane on lihtne kasutada ja Swingis oluline komponent. Selle abil on komponentide vahel lihtne otsustada, kattudes samas olukordades.

Soovitatavad artiklid

See on JLayeredPane'i juhend. Siin käsitleme JLayeredPane kihte, konstruktorit ja meetodeid koos näite ja selle koodi rakendamisega. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  1. JFrame Java
  2. JComponent Java-s
  3. JCheckBox Java-s
  4. Mis on JVM?
  5. Bootstrapi märkeruudu näited