JPopupMenu

JPopupMenu je komponenta Swing koja se koristi za prikazivanje skočnog izbornika u aplikaciji. Izbornik skočnog prozora nije ništa drugo, osim malog prozora koji se pojavljuje i prikazuje niz izbora na bilo kojem događaju poput klika na gumb.

Primjer

  • Izbornik Uređivanje može sadržavati opcije poput rezanja, kopiranja i lijepljenja.
  • Izbornik za organizaciju može sadržavati opcije poput Početna, kontaktirajte nas, o nama, raspitajte se itd.

JPopupMenu je klasa koja se koristi u Swing aplikaciji. Evo deklaracije:

JPopupMenu javne klase proširuje JComponent implementira Accessible, MenuElement

JComponent osnovna klasa za sve Swing komponente osim spremnika najviše razine.

graditelji

JPopupMenu ()

Ovaj konstruktor konstruira JPopupMenu bez pozivača.

JPopupMenu (oznaka žice)

Ovaj konstruktor konstruira JPopupMenu s naslovom.

Shvatimo JPopupMenu uz pomoć primjera:

Program

package application;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.SwingConstants;
import javax.swing.event.PopupMenuEvent;
import javax.swing.event.PopupMenuListener;
public class JPopupMenuDemo (
public static void main(String() args) (
JFrame app = new JFrame();
JButton organization = new JButton("Organization");
app.add(organization);
app.setSize(400, 400);
app.setLayout(new GridLayout(2, 1));
app.setVisible(true);
organization.setVisible(true);
JPopupMenu menu = new JPopupMenu("Menu");
JLabel status = new JLabel();
status.setHorizontalTextPosition(SwingConstants.CENTER);
status.setVerticalTextPosition(SwingConstants.CENTER);
app.add(status);
ActionListener listener = new ActionListener() (
@Override
public void actionPerformed(ActionEvent e) (
status.setText(e.getActionCommand());
status.setVisible(true);
)
);
JMenuItem enquire = new JMenuItem("Enquire");
enquire.addActionListener(listener);
JMenuItem aboutUs = new JMenuItem("About Us");
aboutUs.addActionListener(listener);
JMenuItem home = menu.add("Home");
home.addActionListener(listener);
JMenuItem contactUs = menu.add(new AbstractAction() (
private static final long serialVersionUID = 1L;
@Override
public void actionPerformed(ActionEvent e) (
status.setText(e.getActionCommand());
status.setVisible(true);
)
));
menu.add(enquire);
menu.add(aboutUs);
menu.add(contactUs);
home.setText("Home. Index - " + menu.getComponentIndex(home));
enquire.setText("Enquire. Index - " + menu.getComponentIndex(enquire));
aboutUs.setText("About Us. Index - " + menu.getComponentIndex(aboutUs));
contactUs.setText("Contact Us. Index - " + menu.getComponentIndex(contactUs));
menu.addPopupMenuListener(new PopupMenuListener() (
@Override
public void popupMenuWillBecomeVisible(PopupMenuEvent e) (
status.setText("Popup menu is visible now.");
status.setVisible(true);
)
@Override
public void popupMenuWillBecomeInvisible(PopupMenuEvent e) (
status.setText("Popup menu is invisible now.");
)
@Override
public void popupMenuCanceled(PopupMenuEvent e) (
status.setText("Popup menu is cancelled now.");
)
));
organization.addMouseListener(new MouseAdapter() (
public void mouseClicked(MouseEvent e) (
menu.show(app, e.getX(), e.getY());
)
));
)
)

Obrazloženje

Ovo je aplikacija za bilo koju organizaciju koja ima osnovne stranice poput kuće, pitajte, o nama i kontaktirajte nas.

  • Prvo smo stvorili JFrame veličine 400 do 400 piksela. JFrame je prozor najviše razine s naslovom i obrubom.
  • Zatim je dodan gumb "Organizacija" za prikaz glavnog izbornika aplikacije.
  • Stvara se oznaka koja prikazuje status aplikacije (na koju stavku izbornika se klikne)
  • Stvara se skočni izbornik pomoću klase JPopupMenu i u njega su dodane četiri stavke izbornika - Početna, raspitajte se, o nama i kontaktirajte nas.
  • Indeks stavke izbornika je utvrđen i prikazan funkcijom "getComponentIndex".
  • Na kraju izbornika je dodan separator pomoću funkcije "addSeparator".
  • Slušatelj je dodan da bi prikazao prozor izbornika kad klikne gumb.
  • Dodaje se još jedan slušatelj za promjenu statusa kada se pojavi izbornik, kao i kad se kliknu stavke izbornika.
  • Kad korisnik klikne gumb "Organizacija", otvorit će se skočni prozor s stavkama izbornika.
  • Kada kliknete stavku izbornika, mijenja se "status".

Izlaz

  1. Ovo je aplikacija:

  1. Kada korisnik klikne na "Organizacija", prikazuje se skočni izbornik:

  1. Kada je korisnik kliknuo "Početna":

  1. Kada je korisnik kliknuo "Upitaj":

  1. Kada je korisnik kliknuo "O nama":

  1. Kada je korisnik kliknuo "Kontaktirajte nas":

Metode JPopupMenu

Neke od korisnih metoda JPopupMenu:

  1. JMenuItem dodaj (radnja a)

Ova metoda dodaje stavku izbornika na kraju izbornika i radnja za stavku izbornika je navedena.

  1. Dodaj JMenuItem (izbornik JMenuItemItem)

Ova metoda također dodaje stavku izbornika na kraju, osim što radnja za ovu stavku izbornika mora biti navedena u JMenuItem.

  1. JMenuItemadd (stringovi)

Ova metoda stvara JMenuItem, dodaje u izbornik i vraća JMenuItem kako bi se mogao dodatno konfigurirati.

  1. void addSeparator ()

Ova metoda dodaje razdjelni prostor na kraju izbornika.

  1. int getComponentIndex (Komponenta c)

Ova metoda vraća indeks specificirane komponente unutar ove JPopupMenu.

  1. statički boolean getDefaultLightWeightPopupEnabled ()

Ova metoda vraća vrijednost svojstva defaultLightWeightPopupEnabled, koja je prema zadanim postavkama tačna.

  1. statički praznina setDefaultLightWeightPopupEnabled (boolean aFlag)

Ova metoda postavlja vrijednost svojstva defaultLightWeightPopupEnabled.

  1. String getLabel ()

Ova metoda vraća oznaku ovog izbornika.

  1. void setLabel (Oznaka žice)

Ova metoda postavlja oznaku za ovaj izbornik.

  1. Insets getMargin ()

Ova metoda vraća maržu u pikselima između granice ovog izbornika i njegovih spremnika.

  1. boolean isLightWeightPopupEnabled ()

Ova metoda vraća svojstvo "lightWeightPopupEnabled".

  1. void setLightWeightPopupEnabled (boolean aFlag)

Ova metoda postavlja svojstvo "lightWeightPopupEnabled", što je prema zadanim postavkama točno.

  1. boolean isVisible ()

Ova metoda vraća trenutnu vidljivost ovog izbornika.

  1. void setVisible (boole b)

Ovom metodom se postavlja vidljivost izbornika.

  1. zaštićeni string paramString ()

Ova metoda vraća nizovni prikaz ovog izbornika.

  1. nevažeće uklanjanje (int pos)

Ova metoda uklanja komponentu na navedenom indeksu iz ovog izbornika.

  1. praznina setLocation (int x, int y)

Ovom metodom postavlja se gornji lijevi kut ovog izbornika pomoću x i y koordinata.

  1. void setPopupSize (int širina, int visina)

Ova metoda postavlja veličinu ovog prozora izbornika na zadanu visinu i širinu.

  1. void setPopupSize (Dimenzija d)

Ova metoda postavlja veličinu ovog prozora izbornika na zadanu dimenziju.

  1. PopupMenuUI getUI ()

Ova metoda vraća izgled ovog izbornika.

  1. void setUI (PopupMenuUI ui)

Ova metoda postavlja izgled i izbor ovog izbornika.

  1. nevažeće ažuriranjeUI ()

Ova metoda resetira izgled i izgled ovog izbornika.

  1. nevažeći umetak (radnja a, int indeks)

Ova metoda ubacuje stavku u izbornik s određenom radnjom u navedenom indeksu.

  1. void umetak (komponentna komponenta, int indeks)

Ova metoda ubacuje stavku u izbornik u navedenom indeksu.

  1. nevažeća emisija (Component invoker, int x, int y)

Ova metoda prikazuje izbornik alata za pozivanje komponenata na poziciji x, y u prostoru koordinata.

  1. void addPopupMenuListener (PopupMenuListener l)

Ovom metodom u ovaj skočni izbornik dodaje se slušatelj uz pomoć kojeg možemo provjeriti kada je skočni izbornik vidljiv, nevidljiv i otkazan.

Preporučeni članci

Ovo je vodič za JPopupMenu. Ovdje razgovaramo o primjeru i konstruktoru s programom i objašnjenjem JPopupMenu-a. Možete također pogledati sljedeće članke da biste saznali više -

  1. Java primjedbe
  2. Kvadratni korijen u Javi
  3. Izgled kartice na Javi
  4. Ispis matrice u Javi
  5. JLabel u Javi
  6. Kvadratni korijen u PHP-u

Kategorija: