JPopupMenu

A JPopupMenu egy Swing összetevő, amely felbukkanó menü megjelenítésére szolgál az alkalmazásban. A felbukkanó menü nem más, mint egy kis ablak, amely felbukkan, és számos eseményt megmutat, például gomb kattintással.

Példa

  • A Szerkesztés menü olyan opciókat tartalmazhat, mint a kivágás, másolás és beillesztés.
  • Egy szervezet menüje olyan lehetőségeket tartalmazhat, mint a Kezdőlap, vegye fel velünk a kapcsolatot, rólunk, érdeklődjön stb.

A JPopupMenu egy osztály, amelyet egy Swing alkalmazásban használnak. Itt van a nyilatkozat:

A nyilvános osztályú JPopupMenu kiterjeszti a JComponent eszközöket, amelyek hozzáférhetőek, a MenuElement

A JComponent alaposztálya az összes Swing alkatrészhez, kivéve a felső szintű tartályokat.

Constructors

JPopupMenu ()

Ez a kivitelező JPopupMenu-t készít hívó nélkül.

JPopupMenu (karakterlánc címke)

Ez a kivitelező JPopupMenu-t állít fel egy címmel.

Megértjük a JPopupMenu példáját:

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

Magyarázat

Ez egy olyan alkalmazás bármely szervezet számára, amelynek alapvető oldala van, mint például otthon, érdeklődjön rólunk, és lépjen kapcsolatba velünk.

  • Először létrehoztuk a JFrame méretét 400x400 pixel méretben. A JFrame egy felső szintű ablak címmel és szegéllyel.
  • Ezután hozzáadott egy „Szervezet” gombot az alkalmazás főmenüjének megjelenítéséhez.
  • Létrejön egy címke, amely megmutatja az alkalmazás állapotát (Melyik menüpontra kattintanak)
  • Felugró menü jön létre a JPopupMenu osztály használatával, és négy menüpontot ad hozzá - Főoldal, érdeklődjön, rólunk és lépjen kapcsolatba velünk.
  • A menüpont indexét a „getComponentIndex” funkció használatával kell kitalálni és megjeleníteni.
  • Hozzáadott egy elválasztót a menü végéhez az “addSeparator” funkció használatával.
  • A hallgató hozzáadódik ahhoz, hogy a menüablakot a gomb kattintással megjelenítse.
  • Még egy hallgató hozzáadódik az állapot megváltoztatásához, amikor egy menü felbukkan, és amikor a menüpontokra kattintanak.
  • Amikor a felhasználó rákattint a „Szervezet” gombra, egy felbukkanó ablak nyílik meg a menüelemekkel.
  • Ha egy menüelemre kattintanak, az “állapot” megváltozik.

Kimenet

  1. Ez az alkalmazás:

  1. Amikor a felhasználó a „Szervezet” elemre kattintott, megjelenik egy felbukkanó menü:

  1. Amikor a felhasználó rákattintott a „Kezdőlapra”:

  1. Amikor a felhasználó az „Érdeklődés” gombra kattintott:

  1. Amikor a felhasználó rákattintott a "Rólunk":

  1. Amikor a felhasználó rákattintott a „Kapcsolatfelvétel” elemre:

A JPopupMenu módszerei

Néhány hasznos JPopupMenu módszer:

  1. JMenuItem add (a) művelet

Ez a módszer hozzáad egy menüpontot a menü végéhez, és megadja a menüpont műveletét.

  1. JMenuItem add (JMenuItem menuItem)

Ez a módszer a menü végén is hozzáad egy menüpontot, azzal a különbséggel, hogy ennek a menüpontnak a mûveletét a JMenuItem-ben kell megadni.

  1. JMenuItemadd (karakterláncok)

Ez a módszer létrehoz egy JMenuItem-et, hozzáadja a menühez, és visszatér a JMenuItem-et további konfigurálhatóság céljából.

  1. void addSeparator ()

Ez a módszer elválasztó helyet ad a menü végéhez.

  1. int getComponentIndex (c komponens)

Ez a módszer a megadott összetevő indexét adja vissza ezen a JPopupMenu-en belül.

  1. statikus logikai getDefaultLightWeightPopupEnabled ()

Ez a módszer visszaadja az defaultLightWeightPopupEnabled tulajdonság értékét, amely alapértelmezés szerint igaz.

  1. statikus void setDefaultLightWeightPopupEnabled (logikai aFlag)

Ez a módszer beállítja az defaultLightWeightPopupEnabled tulajdonság értékét.

  1. Karakterlánc getLabel ()

Ez a módszer visszatér a menü címkéjéhez.

  1. void setLabel (karakterlánc címke)

Ez a módszer beállítja ennek a menünek a címkét.

  1. Beilleszti a getMargin ()

Ez a módszer pixelekben adja meg a margót a menü szélének és a tárolóinak között.

  1. logikai isLightWeightPopupEnabled ()

Ez a módszer a „lightWeightPopupEnabled” tulajdonságot adja vissza.

  1. void setLightWeightPopupEnabled (logikai aFlag)

Ez a módszer beállítja a „lightWeightPopupEnabled” tulajdonságot, amely alapértelmezés szerint igaz.

  1. boolean isVisible ()

Ez a módszer visszaadja a menü jelenlegi láthatóságát.

  1. void setVisible (logikai b)

Ez a módszer beállítja a menü láthatóságát.

  1. védett karakterlánc paramString ()

Ez a módszer visszaadja a menü string-ábrázolását.

  1. érvénytelen eltávolítás (int pos)

Ez a módszer eltávolítja a megadott indexű összetevőt ebből a menüből.

  1. void setLocation (int x, int y)

Ez a módszer az x és y koordinátákkal beállítja a menü bal felső sarkának helyét.

  1. void setPopupSize (int szélesség, int magasság)

Ez a módszer beállítja a menüablak méretét a megadott magasságra és szélességre.

  1. void setPopupSize (d dimenzió)

Ez a módszer beállítja a menüablak méretét a megadott méretre.

  1. PopupMenuUI getUI ()

Ez a módszer visszatér e menü megjelenéséhez és megjelenéséhez.

  1. void setUI (PopupMenuUI ui)

Ez a módszer beállítja a menü megjelenését és megjelenését.

  1. érvénytelen frissítésUI ()

Ez a módszer visszaállítja a menü megjelenését és érzetét.

  1. érvénytelen beszúrás (a művelet, int index)

Ez a módszer a menüpontot beszúrja a menübe egy meghatározott művelettel, a megadott indexnél.

  1. void insert (Komponens összetevő, int index)

Ez a módszer a menüpontot beszúrja a menübe a megadott indexnél.

  1. void show (komponens meghívó, int x, int y)

Ez a módszer a komponenshívó menüjét mutatja a koordinátatérben x, y pozícióban.

  1. void addPopupMenuListener (PopupMenuListener l)

Ez a módszer hozzáad egy hallgatót ehhez a felugró menühez, amelynek segítségével ellenőrizhetjük, hogy a felbukkanó menü látható, láthatatlan és törlődik-e.

Ajánlott cikkek

Ez egy útmutató a JPopupMenu-hoz. Itt a Példát és a Konstruktort tárgyaljuk a JPopupMenu programjával és magyarázatával. Lehet, hogy megnézi a következő cikkeket is, ha többet szeretne megtudni -

  1. Java kommentárok
  2. Négyzetgyökér Java-ban
  3. CardLayout Java-ban
  4. Nyomtatási tömb Java-ban
  5. JLabel Java
  6. Négyzetgyökér a PHP-ben

Kategória: