Java by API/javax.swing/JPopupMenu

Материал из Java эксперт
Перейти к: навигация, поиск

JPopupMenu: add(JMenuItem menuItem)

   <source lang="java">

import java.awt.BorderLayout; import java.awt.Rectangle; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; import javax.swing.JTextField; import javax.swing.KeyStroke; import javax.swing.text.BadLocationException; public class MainClass {

 public static void main(final String args[]) {
   JFrame frame = new JFrame("Popup Example");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   final JTextField textField = new JTextField();
   frame.add(textField, BorderLayout.NORTH);
   final JPopupMenu popup = new JPopupMenu();
   JMenuItem menuItem1 = new JMenuItem("Option 1");
   popup.add(menuItem1);
   JMenuItem menuItem2 = new JMenuItem("Option 2");
   popup.add(menuItem2);
   
   ActionListener actionListener = new ActionListener() {
     public void actionPerformed(ActionEvent actionEvent) {
       popup.show(textField, 10,10);
     }
   };
   
   KeyStroke keystroke =
     KeyStroke.getKeyStroke(KeyEvent.VK_PERIOD, 0, false);
   textField.registerKeyboardAction(actionListener, keystroke,
     JComponent.WHEN_FOCUSED);
   frame.setSize(250, 150);
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



JPopupMenu: addPopupMenuListener(PopupMenuListener lis)

   <source lang="java">

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; import javax.swing.event.PopupMenuEvent; import javax.swing.event.PopupMenuListener; public class MainClass {

 public static void main(String[] a) {
   JFrame frame = new JFrame();
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   ActionListener actionListener = new PopupActionListener();
   PopupMenuListener popupMenuListener = new MyPopupMenuListener();
   JPopupMenu popupMenu = new JPopupMenu("Title");
   popupMenu.addPopupMenuListener(popupMenuListener);
   JMenuItem cutMenuItem = new JMenuItem("Cut");
   cutMenuItem.addActionListener(actionListener);
   popupMenu.add(cutMenuItem);
   JMenuItem copyMenuItem = new JMenuItem("Copy");
   copyMenuItem.addActionListener(actionListener);
   popupMenu.add(copyMenuItem);
   JMenuItem pasteMenuItem = new JMenuItem("Paste");
   pasteMenuItem.addActionListener(actionListener);
   pasteMenuItem.setEnabled(false);
   popupMenu.add(pasteMenuItem);
   popupMenu.addSeparator();
   JMenuItem findMenuItem = new JMenuItem("Find");
   findMenuItem.addActionListener(actionListener);
   popupMenu.add(findMenuItem);
   JButton label = new JButton();
   frame.add(label);
   label.setComponentPopupMenu(popupMenu);
   frame.setSize(350, 250);
   frame.setVisible(true);
 }

} class PopupActionListener implements ActionListener {

 public void actionPerformed(ActionEvent actionEvent) {
   System.out.println("Selected: " + actionEvent.getActionCommand());
 }

} class MyPopupMenuListener implements PopupMenuListener {

 public void popupMenuCanceled(PopupMenuEvent popupMenuEvent) {
   System.out.println("Canceled");
 }
 public void popupMenuWillBecomeInvisible(PopupMenuEvent popupMenuEvent) {
   System.out.println("Becoming Invisible");
 }
 public void popupMenuWillBecomeVisible(PopupMenuEvent popupMenuEvent) {
   System.out.println("Becoming Visible");
 }

}


 </source>
   
  
 
  



JPopupMenu: addSeparator()

   <source lang="java">

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; import javax.swing.event.PopupMenuEvent; import javax.swing.event.PopupMenuListener; public class MainClass {

 public static void main(String[] a) {
   JFrame frame = new JFrame();
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   ActionListener actionListener = new PopupActionListener();
   PopupMenuListener popupMenuListener = new MyPopupMenuListener();
   JPopupMenu popupMenu = new JPopupMenu("Title");
   popupMenu.addPopupMenuListener(popupMenuListener);
   JMenuItem cutMenuItem = new JMenuItem("Cut");
   cutMenuItem.addActionListener(actionListener);
   popupMenu.add(cutMenuItem);
   JMenuItem copyMenuItem = new JMenuItem("Copy");
   copyMenuItem.addActionListener(actionListener);
   popupMenu.add(copyMenuItem);
   JMenuItem pasteMenuItem = new JMenuItem("Paste");
   pasteMenuItem.addActionListener(actionListener);
   pasteMenuItem.setEnabled(false);
   popupMenu.add(pasteMenuItem);
   popupMenu.addSeparator();
   JMenuItem findMenuItem = new JMenuItem("Find");
   findMenuItem.addActionListener(actionListener);
   popupMenu.add(findMenuItem);
   JButton label = new JButton();
   frame.add(label);
   label.setComponentPopupMenu(popupMenu);
   frame.setSize(350, 250);
   frame.setVisible(true);
 }

} class PopupActionListener implements ActionListener {

 public void actionPerformed(ActionEvent actionEvent) {
   System.out.println("Selected: " + actionEvent.getActionCommand());
 }

} class MyPopupMenuListener implements PopupMenuListener {

 public void popupMenuCanceled(PopupMenuEvent popupMenuEvent) {
   System.out.println("Canceled");
 }
 public void popupMenuWillBecomeInvisible(PopupMenuEvent popupMenuEvent) {
   System.out.println("Becoming Invisible");
 }
 public void popupMenuWillBecomeVisible(PopupMenuEvent popupMenuEvent) {
   System.out.println("Becoming Visible");
 }

}


 </source>
   
  
 
  



JPopupMenu: setDefaultLightWeightPopupEnabled(boolean aFlag)

   <source lang="java">

import javax.swing.JPopupMenu; public class Main {

 public static void main(String[] argv) throws Exception {
   boolean lwPopup = JPopupMenu.getDefaultLightWeightPopupEnabled(); // true
   // Globally use heavyweight components for all popup menus
   JPopupMenu.setDefaultLightWeightPopupEnabled(false);
 }

}

 </source>
   
  
 
  



JPopupMenu: setLightWeightPopupEnabled(boolean aFlag)

   <source lang="java">

import javax.swing.JMenu; import javax.swing.JMenuItem; public class Main {

 public static void main(String[] argv) throws Exception {
   JMenu menu = new JMenu("Menu Label");
   menu.add(new JMenuItem("Item Label"));
   boolean lwPopup = menu.getPopupMenu().isLightWeightPopupEnabled(); // true
   menu.getPopupMenu().setLightWeightPopupEnabled(false);
 }

}

 </source>
   
  
 
  



JPopupMenu: show(Component invoker, int x, int y)

   <source lang="java">

import java.awt.BorderLayout; import java.awt.Rectangle; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; import javax.swing.JTextField; import javax.swing.KeyStroke; import javax.swing.text.BadLocationException; public class MainClass {

 public static void main(final String args[]) {
   JFrame frame = new JFrame("Popup Example");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   final JTextField textField = new JTextField();
   frame.add(textField, BorderLayout.NORTH);
   final JPopupMenu popup = new JPopupMenu();
   JMenuItem menuItem1 = new JMenuItem("Option 1");
   popup.add(menuItem1);
   JMenuItem menuItem2 = new JMenuItem("Option 2");
   popup.add(menuItem2);
   
   ActionListener actionListener = new ActionListener() {
     public void actionPerformed(ActionEvent actionEvent) {
       popup.show(textField, 10,10);
     }
   };
   
   KeyStroke keystroke =
     KeyStroke.getKeyStroke(KeyEvent.VK_PERIOD, 0, false);
   textField.registerKeyboardAction(actionListener, keystroke,
     JComponent.WHEN_FOCUSED);
   frame.setSize(250, 150);
   frame.setVisible(true);
 }

}


 </source>