ЈПопупМену

ЈПопупМену је компонента Свинг која се користи за приказивање скочног менија у апликацији. Попуп мени није мали прозор који се појављује и показује низ избора на било којем догађају попут клика на дугме.

Пример

  • Мени за уређивање може садржавати опције попут сечења, копирања и лепљења.
  • Мени за организацију може да садржи опције попут Почетна, контактирајте нас, о нама, распитајте се итд.

ЈПопупМену је класа која се користи у Свинг апликацији. Ево декларације:

ЈПопупМену јавне класе проширује ЈЦомпонент имплементира Аццессибле, МенуЕлемент

ЈЦомпонент основна класа за све Свинг компоненте осим контејнера највишег нивоа.

Конструктори

ЈПопупМену ()

Овај конструктор конструише ЈПопупМену без позивача.

ЈПопупМену (Стринг лабел)

Овај конструктор конструише ЈПопупМену са насловом.

Да разумемо ЈПопупМену уз помоћ примера:

Програм

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

Објашњење

Ово је апликација за било коју организацију која има основне странице попут куће, питајте, о нама и контактирајте нас.

  • Прво смо направили ЈФраме величине 400 до 400 пиксела. ЈФраме је прозор највишег нивоа са насловом и обрубом.
  • Затим је додато дугме „Организација“ да се прикаже главни мени апликације.
  • Ствара се налепница која приказује статус апликације (на коју ставку менија се кликне)
  • Појавни мени се креира помоћу ЈПопупМену класе и додаје се четири ставке менија - Почетна, распитајте се о нама и контактирајте нас.
  • Индекс ставке менија се израчунава и приказује помоћу функције "гетЦомпонентИндек".
  • На крају менија је додан сепаратор помоћу функције „аддСепаратор“.
  • Слушалац је додан да прикаже прозор менија када кликне дугме.
  • Додаје се још један слушалац који мења статус када се појави мени, а такође и када се кликну ставке менија.
  • Када корисник кликне на дугме „Организација“, отвориће се скочни прозор са ставкама менија.
  • Када кликнете на ставку менија, „статус“ се мења.

Излаз

  1. Ово је апликација:

  1. Када корисник кликне на „Организација“, приказује се скочни мени:

  1. Када је корисник кликнуо на „Почетна“:

  1. Када је корисник кликнуо на „Упитај“:

  1. Када је корисник кликнуо на „О нама“:

  1. Када је корисник кликнуо на „Контактирајте нас“:

Методе ЈПопупМену

Неке од корисних ЈПопупМену метода:

  1. ЈМенуИтем адд (Акција а)

Ова метода додаје ставку менија на крају менија и акција за ставку менија је наведена.

  1. Додај ЈМенуИтем (ЈМенуИтем менуИтем)

Ова метода такође додаје ставку менија на крају, осим што радња за ову ставку менија мора бити наведена у ЈМенуИтем.

  1. ЈМенуИтемадд (стрингови)

Овом методом се ствара ЈМенуИтем, додаје се у мени и враћа ЈМенуИтем како би се могао даље конфигурисати.

  1. воид аддСепаратор ()

Овом методом додаје се сепарацијски простор на крају менија.

  1. инт гетЦомпонентИндек (Компонента ц)

Ова метода враћа индекс наведене компоненте унутар ове ЈПопупМену.

  1. статиц боолеан гетДефаултЛигхтВеигхтПопупЕнаблед ()

Ова метода враћа вредност дефаултЛигхтВеигхтПопупЕнаблед својства, која је према заданим поставкама тачна.

  1. статички воид сетДефаултЛигхтВеигхтПопупЕнаблед (боолеан аФлаг)

Ова метода поставља вредност својства дефаултЛигхтВеигхтПопупЕнаблед.

  1. Стринг гетЛабел ()

Ова метода враћа ознаку овог менија.

  1. воид сетЛабел (Стринг лабел)

Ова метода поставља ознаку за овај мени.

  1. Инсетс гетМаргин ()

Ова метода враћа маржу у пикселима између границе овог менија и његових контејнера.

  1. боолеан исЛигхтВеигхтПопупЕнаблед ()

Ова метода враћа својство „лигхтВеигхтПопупЕнаблед“.

  1. воид сетЛигхтВеигхтПопупЕнаблед (боолеан аФлаг)

Ова метода поставља својство „лигхтВеигхтПопупЕнаблед“, што је према заданим поставкама тачно.

  1. боолеан исВисибле ()

Ова метода враћа тренутну видљивост овог менија.

  1. воид сетВисибле (боолеан б)

Овом методом се поставља видљивост менија.

  1. заштићени стринг парамСтринг ()

Ова метода враћа стринг представљање овог менија.

  1. неважеће уклањање (инт пос)

Овом методом се из овог менија уклања компонента са наведеним индексом.

  1. воид сетЛоцатион (инт к, инт и)

Ова метода поставља локацију горњег левог угла овог менија користећи к и и координате.

  1. воид сетПопупСизе (инт ширина, инт висина)

Ова метода поставља величину овог прозора менија на задату висину и ширину.

  1. воид сетПопупСизе (Димензија д)

Овом методом се величина овог прозора менија поставља на задану димензију.

  1. ПопупМенуУИ гетУИ ()

Ова метода враћа изглед овог менија.

  1. воид сетУИ (ПопупМенуУИ уи)

Ова метода поставља изглед овог менија.

  1. воид упдатеУИ ()

Ова метода ресетује изглед и осећај овог менија.

  1. неважећи уметак (Акција а, инт индекс)

Овом методом се у мени убацује ставка менија са одређеном радњом у наведеном индексу.

  1. воид уметак (компонентна компонента, инт индекс)

Овом методом се у мени убацује ставка менија у наведеном индексу.

  1. воид схов (Цомпонент цалл, инт к, инт и)

Ова метода приказује мени у позиву компоненти на позицији к, и у простору координата.

  1. воид аддПопупМенуЛистенер (ПопупМенуЛистенер л)

Ова метода додаје слушатеља овом искачућем менију уз помоћ кога можемо проверити када је скочни мени видљив, невидљив и отказан.

Препоручени чланци

Ово је водич за ЈПопупМену. Овдје разговарамо о примјеру и конструктору с програмом и објашњењем ЈПопупМену-а. Можда ћете такође погледати следеће чланке да бисте сазнали више -

  1. Јава напомене
  2. Скуаре Роот у Јави
  3. ЦардЛаиоут у Јави
  4. Принт Арраи у Јави
  5. ЈЛабел на Јави
  6. Скуаре Роот у ПХП-у

Категорија: