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