JPopupMenu

JPopupMenu je komponenta Swing, ki se uporablja za prikaz pojavnega menija v aplikaciji. Meni Popup ni nič drugega kot majhno okno, ki se pojavi in ​​pokaže vrsto izbire za kateri koli dogodek, kot je klik gumba.

Primer

  • Meni Urejanje lahko vsebuje možnosti, kot so izrezovanje, kopiranje in lepljenje.
  • Meni organizacije lahko vsebuje možnosti, kot so Domov, kontaktirajte nas, o nas, poizvedujte itd.

JPopupMenu je razred, ki se uporablja v aplikaciji Swing. Tu je izjava:

JPopupMenu v javnem razredu razširi izvedbe JComponent Accessible, MenuElement

Osnovni razred JComponent za vse komponente Swing, razen posod najvišjega nivoja.

Konstruktorji

JPopupMenu ()

Ta konstruktor oblikuje JPopupMenu brez povzročitelja.

JPopupMenu (String label)

Ta konstruktor zgradi JPopupMenu z naslovom.

Razumejmo JPopupMenu s pomočjo primera:

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());
)
));
)
)

Pojasnilo

To je aplikacija za katero koli organizacijo, ki ima osnovne strani, kot so dom, poizvej o nas in nas kontaktiraj.

  • Najprej smo ustvarili JFrame velikosti 400 do 400 slikovnih pik. JFrame je okno najvišje ravni z naslovom in obrobo.
  • Nato dodamo gumb »Organizacija«, da se prikaže glavni meni aplikacije.
  • Ustvari se nalepka, ki prikazuje stanje aplikacije (na katero element menija kliknete)
  • S pomočjo razreda JPopupMenu se ustvari pojavni meni in vanj dodajo štiri postavke menija - Domov, povprašajte, o nas in nas kontaktirajte.
  • Indeks postavke menija se izračuna in prikaže s funkcijo "getComponentIndex".
  • Na koncu menija je bil dodan ločnik s funkcijo "addSeparator".
  • Poslušalec je dodan, da po kliku gumba prikaže okno z menijem.
  • Doda se še en poslušalec, ki spremeni status, ko se prikaže meni in tudi ob kliku elementov menija.
  • Ko uporabnik klikne gumb »Organizacija«, se odpre pojavno okno z elementi menija.
  • Ko kliknete element menija, se stanje "spremeni".

Izhod

  1. To je aplikacija:

  1. Ko uporabnik klikne na »Organizacija«, se prikaže pojavni meni:

  1. Ko je uporabnik kliknil »Domov«:

  1. Ko je uporabnik kliknil »Poizvesi«:

  1. Ko je uporabnik kliknil »O nas«:

  1. Ko je uporabnik kliknil »Pišite nam«:

Metode JPopupMenu

Nekaj ​​uporabnih metod JPopupMenu:

  1. Dodajanje JMenuItem (akcija a)

Ta metoda doda element menija na koncu menija in dejanje za točko menija je določeno.

  1. Dodaj JMenuItem (meni JMenuItemItem)

Ta metoda na koncu doda tudi element menija, le da mora biti dejanje za to postavko menija določeno v JMenuItem.

  1. JMenuItemadd (String s)

Ta metoda ustvari JMenuItem, doda v meni in vrne JMenuItem, da se lahko dodatno konfigurira.

  1. neveljaven addSeparator ()

Ta metoda doda ločilni prostor na koncu menija.

  1. int getComponentIndex (komponenta c)

Ta metoda vrne indeks podane komponente znotraj tega JPopupMenu.

  1. statični logični getDefaultLightWeightPopupEnabled ()

Ta metoda vrne vrednost lastnosti defaultLightWeightPopupEnabled, ki je privzeto resnična.

  1. statični void setDefaultLightWeightPopupEnabled (boolean aFlag)

Ta metoda nastavi vrednost lastnosti defaultLightWeightPopupEnabled.

  1. String getLabel ()

Ta metoda vrne oznako tega menija.

  1. void setLabel (Nalepka nizov)

Ta metoda nastavi oznako za ta meni.

  1. Insets getMargin ()

Ta metoda vrne mejo v slikovnih pikah med mejo tega menija in njegovimi vsebniki.

  1. boolean isLightWeightPopupEnabled ()

Ta metoda vrne lastnost “lightWeightPopupEnabled”.

  1. void setLightWeightPopupEnabled (boolean aFlag)

Ta metoda nastavi lastnost “lightWeightPopupEnabled”, ki je privzeto resnična.

  1. boolean isVisible ()

Ta metoda vrne trenutno vidnost tega menija.

  1. nični setVisible (logična b)

Ta metoda nastavi vidnost menija.

  1. zaščiten niz paramString ()

Ta metoda vrne niz v tem meniju.

  1. razveljavitev ničnosti (int pos)

Ta metoda odstrani komponento v določenem indeksu iz tega menija.

  1. razveljavitev setLocation (int x, int y)

Ta metoda nastavi lokacijo zgornjega levega kota tega menija s pomočjo koordinat x in y.

  1. void setPopupSize (int širina, int višina)

Ta metoda nastavi velikost tega okna v meniju na določeno višino in širino.

  1. ničnost setPopupSize (dimenzija d)

Ta metoda nastavi velikost tega okna v meniju na določeno dimenzijo.

  1. PopupMenuUI getUI ()

Ta metoda vrne videz tega menija.

  1. nični setUI (PopupMenuUI ui)

Ta metoda določa videz tega menija.

  1. neveljavna posodobitevUI ()

Ta metoda ponastavi izgled tega menija.

  1. neveljaven vložek (Action a, int index)

Ta metoda vstavi element menija v meni z določenim dejanjem v določenem indeksu.

  1. neveljaven vložek (komponent komponente, int indeks)

Ta metoda vstavi element menija v meniju z navedenim indeksom.

  1. neveljavna oddaja (Sprožilec komponent, int x, int y)

Ta metoda prikazuje meni v povzročitelju komponent na položaju x, y v koordinatnem prostoru.

  1. neveljaven addPopupMenuListener (PopupMenuListener l)

Ta metoda v ta pojavni meni doda poslušalca, s pomočjo katerega lahko preverimo, kdaj je pojavni meni viden, neviden in preklican.

Priporočeni članki

To je priročnik za JPopupMenu. Tukaj razpravljamo o primeru in konstruktorju s programom in razlago JPopupMenu-a. Za več informacij si lahko ogledate tudi naslednje članke -

  1. Napomene Java
  2. Kvadratni koren na Javi
  3. Različica kartic na Javi
  4. Natisni matriko v Javi
  5. JLabel v Javi
  6. Kvadratni koren v PHP