Java by API/javax.swing/MenuElement

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

implements MenuElement

   <source lang="java">

import java.awt.ruponent; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JCheckBoxMenuItem; import javax.swing.JFrame; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JPopupMenu; import javax.swing.JSeparator; import javax.swing.JSlider; import javax.swing.MenuElement; import javax.swing.MenuSelectionManager; import javax.swing.border.rupoundBorder; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; public class MainClass extends JPanel {

 public JPopupMenu popup;
 SliderMenuItem slider;
 int theValue = 0;
 public MainClass() {
   popup = new JPopupMenu();
   slider = new SliderMenuItem();
   popup.add(slider);
   popup.add(new JSeparator());
   JMenuItem ticks = new JCheckBoxMenuItem("Slider Tick Marks");
   ticks.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent event) {
       slider.setPaintTicks(!slider.getPaintTicks());
     }
   });
   JMenuItem labels = new JCheckBoxMenuItem("Slider Labels");
   labels.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent event) {
       slider.setPaintLabels(!slider.getPaintLabels());
     }
   });
   popup.add(ticks);
   popup.add(labels);
 }
 public static void main(String s[]) {
   JFrame frame = new JFrame("Menu Element Example");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setContentPane(new MainClass());
   frame.setSize(300, 300);
   frame.setVisible(true);
 }
 // Inner class that defines our special slider menu item
 class SliderMenuItem extends JSlider implements MenuElement {
   public SliderMenuItem() {
     setBorder(new CompoundBorder(new TitledBorder("Control"), new EmptyBorder(10, 10, 10, 10)));
     setMajorTickSpacing(20);
     setMinorTickSpacing(10);
   }
   public void processMouseEvent(MouseEvent e, MenuElement path[], MenuSelectionManager manager) {
   }
   public void processKeyEvent(KeyEvent e, MenuElement path[], MenuSelectionManager manager) {
   }
   public void menuSelectionChanged(boolean isIncluded) {
   }
   public MenuElement[] getSubElements() {
     return new MenuElement[0];
   }
   public Component getComponent() {
     return this;
   }
 }

}

      </source>