001 /* 002 * $Header$ 003 * $Revision: 1998 $ 004 * $Date: 2008-03-06 13:18:03 +0100 (Thu, 06 Mar 2008) $ 005 * 006 * Copyright Computer Science Innovations (CSI), 2004. All rights reserved. 007 */ 008 package org.springframework.richclient.factory; 009 010 import javax.swing.JCheckBoxMenuItem; 011 import javax.swing.JMenu; 012 import javax.swing.JMenuBar; 013 import javax.swing.JMenuItem; 014 import javax.swing.JPopupMenu; 015 import javax.swing.JRadioButtonMenuItem; 016 017 /** 018 * Marker for menu factories. 019 * 020 * @author Keith Donald 021 */ 022 public interface MenuFactory { 023 024 /** 025 * Create a menu. 026 */ 027 public JMenu createMenu(); 028 029 /** 030 * Create a menu item. 031 */ 032 public JMenuItem createMenuItem(); 033 034 /** 035 * Create a menu item with a checkbox LaF. 036 */ 037 public JCheckBoxMenuItem createCheckBoxMenuItem(); 038 039 /** 040 * Create a menu item with a radio button LaF. 041 */ 042 public JRadioButtonMenuItem createRadioButtonMenuItem(); 043 044 /** 045 * Create a popup menu most commonly used when with the mouse. 046 */ 047 public JPopupMenu createPopupMenu(); 048 049 /** 050 * Create a menu bar. 051 */ 052 public JMenuBar createMenuBar(); 053 054 }