implements MenuElement : MenuElement « javax.swing « Java by API






implements MenuElement

import java.awt.Component;
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.CompoundBorder;
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;
    }
  }
}

           
       








Related examples in the same category