View Javadoc
1 /* 2 * JScroll - the scrollable desktop pane for Java. 3 * Copyright (C) 2003 Tom Tessier 4 * 5 * This program is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU General Public License 7 * as published by the Free Software Foundation; either version 2 8 * of the License, or (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 * 19 */ 20 21 package org.jscroll.widgets; 22 23 import javax.swing.*; 24 25 import java.awt.event.*; 26 27 28 /*** 29 * This class constructs the "Window" menu items for use by 30 * {@link org.jscroll.widgets.DesktopMenu DesktopMenu}. 31 * 32 * @author <a href="mailto:tessier@gabinternet.com">Tom Tessier</a> 33 * @version 1.0 11-Aug-2001 34 */ 35 public class ConstructWindowMenu implements ActionListener { 36 private DesktopMediator desktopMediator; 37 38 /*** 39 * creates the ConstructWindowMenu object. 40 * 41 * @param sourceMenu the source menu to apply the menu items 42 * @param desktopMediator a reference to the DesktopMediator 43 * @param tileMode the current tile mode (tile or cascade) 44 */ 45 public ConstructWindowMenu(JMenu sourceMenu, 46 DesktopMediator desktopMediator, boolean tileMode) { 47 this.desktopMediator = desktopMediator; 48 constructMenuItems(sourceMenu, tileMode); 49 } 50 51 /*** 52 * constructs the actual menu items. 53 * 54 * @param sourceMenu the source menu to apply the menu items 55 * @param tileMode the current tile mode 56 */ 57 private void constructMenuItems(JMenu sourceMenu, boolean tileMode) { 58 sourceMenu.add(new RootMenuItem(this, "Tile", KeyEvent.VK_T, -1)); 59 sourceMenu.add(new RootMenuItem(this, "Cascade", KeyEvent.VK_C, -1)); 60 sourceMenu.addSeparator(); 61 62 JMenu autoMenu = new JMenu("Auto"); 63 autoMenu.setMnemonic(KeyEvent.VK_U); 64 65 ButtonGroup autoMenuGroup = new ButtonGroup(); 66 JRadioButtonMenuItem radioItem = new RootRadioButtonMenuItem(this, 67 "Tile", KeyEvent.VK_T, -1, tileMode); 68 autoMenu.add(radioItem); 69 autoMenuGroup.add(radioItem); 70 71 radioItem = new RootRadioButtonMenuItem(this, "Cascade", KeyEvent.VK_C, 72 -1, !tileMode); 73 autoMenu.add(radioItem); 74 autoMenuGroup.add(radioItem); 75 76 sourceMenu.add(autoMenu); 77 sourceMenu.addSeparator(); 78 79 sourceMenu.add(new RootMenuItem(this, "Close", KeyEvent.VK_S, 80 KeyEvent.VK_Z)); 81 sourceMenu.addSeparator(); 82 } 83 84 /*** 85 * propogates actionPerformed menu event to the DesktopMediator reference 86 * 87 * @param e the ActionEvent to propogate 88 */ 89 public void actionPerformed(ActionEvent e) { 90 desktopMediator.actionPerformed(e); 91 } 92 }

This page was automatically generated by Maven