JPopupMenu

JPopupMenu on Swing-komponent, mida kasutatakse rakenduses hüpikmenüü kuvamiseks. Hüpikmenüü pole midagi muud kui väike aken, mis hüppab ja näitab rea sündmuste valikuid, nagu nupu klõps.

Näide

  • Menüü Redigeerimine võib sisaldada selliseid valikuid nagu lõigamine, kopeerimine ja kleepimine.
  • Organisatsiooni menüü võib sisaldada selliseid valikuid nagu Kodu, võtke meiega ühendust, meie kohta, küsige jne.

JPopupMenu on klass, mida kasutatakse Swingi rakenduses. Siin on deklaratsioon:

avaliku klassi JPopupMenu laiendab JComponent-rakendusi Juurdepääsetav, MenüüElement

JKomponendi põhiklass kõigile Swing-komponentidele, välja arvatud kõrgema taseme konteinerid.

Konstruktorid

JPopupMenu ()

See konstruktor konstrueerib JPopupMenu ilma kutsumata.

JPopupMenu (stringi silt)

See konstruktor konstrueerib pealkirjaga JPopupMenu.

Mõistame JPopupMenu näite abil:

Programm

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

Seletus

See on rakendus mis tahes organisatsioonile, millel on põhilehed nagu kodu, küsige meie kohta ja võtke meiega ühendust.

  • Esiteks oleme loonud JFrame'i suurusega 400x400 pikslit. JFrame on tipptasemel aken pealkirja ja äärega.
  • Seejärel lisati nupp „Organisatsioon” rakenduse peamenüü kuvamiseks.
  • Rakenduse oleku kuvamiseks luuakse silt (millisele menüüelemendile klõpsatakse)
  • JPopupMenu klassi abil luuakse hüpikmenüü ja lisatakse sinna neli menüüelementi - Avaleht, küsige meie kohta ja võtke meiega ühendust.
  • Menüüelemendi register on välja töötatud ja näidatud funktsiooni „getComponentIndex” abil.
  • Menüü lõppu lisati eraldaja funktsiooni „addSeparator” abil.
  • Kuulaja lisamiseks kuvatakse menüüaken nupuvajutusega.
  • Lisatakse veel üks kuulaja, et muuta olekut hüpikmenüü ilmumisel ja ka menüüelementide klõpsamisel.
  • Kui kasutaja klõpsab nupul „Organisatsioon“, avatakse menüüelementidega hüpikaken.
  • Menüüelemendi klõpsamisel muudetakse olekut.

Väljund

  1. See on rakendus:

  1. Kui kasutaja klõpsab nupul „Organisatsioon”, kuvatakse hüpikmenüü:

  1. Kui kasutaja klõpsas avalehel:

  1. Kui kasutaja klõpsas nupul „Küsi”:

  1. Kui kasutaja klõpsas nupul „Meist”:

  1. Kui kasutaja klõpsas nupul „Võtke meiega ühendust”:

JPopupMenu meetodid

Mõned kasulikud JPopupMenu meetodid:

  1. JMenuItem add (tegevus a)

See meetod lisab menüü üksuse menüü lõppu ja menüü üksuse toiming on täpsustatud.

  1. JMenuItem add (JMenuItem menuItem)

See meetod lisab lõppu ka menüüelemendi, välja arvatud see, et selle menüüelemendi toiming tuleb määrata JMenuItem-is.

  1. JMenuItemadd (keelpillid)

See meetod loob JMenuItem, lisab menüüsse ja tagastab JMenuItem, et seda saaks edaspidi konfigureerida.

  1. tühine addSeparator ()

See meetod lisab eraldusruumi menüü lõppu.

  1. int getComponentIndex (komponent c)

See meetod tagastab JPopupMenu-s määratletud komponendi indeksi.

  1. staatiline tõeväärtus getDefaultLightWeightPopupEnabled ()

See meetod tagastab vara defaultLightWeightPopupEnabled väärtuse, mis vaikimisi on tõene.

  1. static void setDefaultLightWeightPopupEnabled (tõeväärtuse aFlag)

See meetod seab vara defaultLightWeightPopupEnabled väärtuse.

  1. Keel getLabel ()

See meetod tagastab selle menüü sildi.

  1. void setLabel (stringi silt)

See meetod seab selle menüü sildi.

  1. Insetid getMargin ()

See meetod tagastab marginaali pikslites selle menüü piiri ja konteinerite vahel.

  1. tõeväärtus onLightWeightPopupEnabled ()

See meetod tagastab atribuudi “lightWeightPopupEnabled”.

  1. void setLightWeightPopupEnabled (loogiline aFlag)

See meetod seab omaduse “lightWeightPopupEnabled”, mis vaikimisi on tõene.

  1. boolean isVisible ()

See meetod tagastab selle menüü praeguse nähtavuse.

  1. void setVisible (loogiline b)

See meetod seab menüü nähtavuse.

  1. kaitstud String paramString ()

See meetod tagastab selle menüü stringi esituse.

  1. tühista eemaldamine (int pos)

See meetod eemaldab komponendi antud indeksist sellest menüüst.

  1. void setLocation (int x, int y)

See meetod määrab x ja y koordinaatide abil selle menüü vasaku ülanurga asukoha.

  1. void setPopupSize (int laius, int kõrgus)

See meetod seab selle menüüakna suuruseks määratud kõrguse ja laiuse.

  1. tühine setPopupSize (mõõde d)

See meetod seab selle menüüakna suuruseks määratud mõõtme.

  1. PopupMenuUI getUI ()

See meetod tagastab selle menüü ilme ja ilme.

  1. tühine setUI (PopupMenuUI ui)

See meetod määrab selle menüü ilme ja ilme.

  1. tühine värskendusUI ()

See meetod lähtestab selle menüü ilme ja ilme.

  1. void insert (toiming a, int indeks)

See meetod lisab menüüelemendi määratud toiminguga määratud indeksi menüüsse.

  1. tühine sisestus (komponendi komponent, int indeks)

See meetod lisab menüüelemendi määratud indeksi menüüsse.

  1. tühine näitamine (komponendi helistaja, int x, int y)

Selle meetodi abil kuvatakse komponendi helistaja menüü positsioonis x, y koordinaatide ruumis.

  1. tühine addPopupMenuListener (PopupMenuListener l)

See meetod lisab kuulajale selle hüpikmenüü, mille abil saame kontrollida, millal hüpikmenüü on nähtav, nähtamatu ja tühistatud.

Soovitatavad artiklid

See on JPopupMenu juhend. Siin arutame JPopupMenu programmi ja seletuse näidet ja konstruktorit. Võite lisateabe saamiseks vaadata ka järgmisi artikleid -

  1. Java märkused
  2. Ruutjuur Java-s
  3. CardLayout Java-s
  4. Prindimassiivi Java
  5. JLabel Java
  6. Ruutjuur PHP-s

Kategooria: