View Javadoc
1   package com.jsql.view.swing.util;
2   
3   import javax.swing.*;
4   import java.awt.event.MouseEvent;
5   
6   public class RadioItemNonClosing extends JRadioButtonMenuItem {
7   
8       public RadioItemNonClosing(String text) {
9           super(text);
10      }
11  
12      public RadioItemNonClosing(String text, boolean selected) {
13          super(text, selected);
14      }
15  
16      public RadioItemNonClosing(String text, ImageIcon icon, boolean selected) {
17          super(text, icon, selected);
18      }
19  
20      public RadioItemNonClosing(AbstractAction a) {
21          super(a);
22      }
23  
24      @Override
25      protected void processMouseEvent(MouseEvent e) {
26          if (RadioItemNonClosing.shouldClose(e, this)) {
27              super.processMouseEvent(e);
28          }
29      }
30  
31      public static boolean shouldClose(MouseEvent e, JMenuItem m) {
32          if (e.getID() == MouseEvent.MOUSE_RELEASED && m.contains(e.getPoint())) {
33              m.doClick();
34              m.setArmed(true);
35              return false;
36          }
37          return true;
38      }
39  }