swingset2.java

来自「一个小公司要求给写的很简单的任务管理系统。」· Java 代码 · 共 1,408 行 · 第 1/4 页

JAVA
1,408
字号
	lafMenu.getAccessibleContext().setAccessibleDescription(	    getString("LafMenu.laf_accessible_description"));	mi = createLafMenuItem(lafMenu, "LafMenu.java_label", "LafMenu.java_mnemonic",		       "LafMenu.java_accessible_description", metal);	mi.setSelected(true); // this is the default l&f        UIManager.LookAndFeelInfo[] lafInfo = UIManager.                                       getInstalledLookAndFeels();        for (int counter = 0; counter < lafInfo.length; counter++) {            String className = lafInfo[counter].getClassName();            if (className == motif) {                createLafMenuItem(lafMenu, "LafMenu.motif_label", "LafMenu.motif_mnemonic",                        "LafMenu.motif_accessible_description", motif);                    } else if (className == windows) {                createLafMenuItem(lafMenu, "LafMenu.windows_label", "LafMenu.windows_mnemonic",                        "LafMenu.windows_accessible_description", windows);            } else if (className == gtk) {                createLafMenuItem(lafMenu, "LafMenu.gtk_label", "LafMenu.gtk_mnemonic",                         "LafMenu.gtk_accessible_description", gtk);            }        }	// ***** create themes menu 	themesMenu = (JMenu) menuBar.add(new JMenu(getString("ThemesMenu.themes_label")));        themesMenu.setMnemonic(getMnemonic("ThemesMenu.themes_mnemonic"));	themesMenu.getAccessibleContext().setAccessibleDescription(	    getString("ThemesMenu.themes_accessible_description"));	// ***** create the audio submenu under the theme menu	audioMenu = (JMenu) themesMenu.add(new JMenu(getString("AudioMenu.audio_label")));        audioMenu.setMnemonic(getMnemonic("AudioMenu.audio_mnemonic"));	audioMenu.getAccessibleContext().setAccessibleDescription(	    getString("AudioMenu.audio_accessible_description"));	createAudioMenuItem(audioMenu, "AudioMenu.on_label",			    "AudioMenu.on_mnemonic", 			    "AudioMenu.on_accessible_description",			    new OnAudioAction(this));	mi = createAudioMenuItem(audioMenu, "AudioMenu.default_label",				 "AudioMenu.default_mnemonic", 				 "AudioMenu.default_accessible_description",				 new DefaultAudioAction(this));	mi.setSelected(true); // This is the default feedback setting	createAudioMenuItem(audioMenu, "AudioMenu.off_label",			    "AudioMenu.off_mnemonic", 			    "AudioMenu.off_accessible_description",			    new OffAudioAction(this));	// ***** create the font submenu under the theme menu	JMenu fontMenu = (JMenu) themesMenu.add(new JMenu(getString("FontMenu.fonts_label")));        fontMenu.setMnemonic(getMnemonic("FontMenu.fonts_mnemonic"));	fontMenu.getAccessibleContext().setAccessibleDescription(	    getString("FontMenu.fonts_accessible_description"));        ButtonGroup fontButtonGroup = new ButtonGroup();        mi = createButtonGroupMenuItem(fontMenu, "FontMenu.plain_label",                "FontMenu.plain_mnemonic",                "FontMenu.plain_accessible_description",                new ChangeFontAction(this, true), fontButtonGroup);        mi.setSelected(true);        mi = createButtonGroupMenuItem(fontMenu, "FontMenu.bold_label",                "FontMenu.bold_mnemonic",                "FontMenu.bold_accessible_description",                new ChangeFontAction(this, false), fontButtonGroup);	// *** now back to adding color/font themes to the theme menu        mi = createThemesMenuItem(themesMenu, "ThemesMenu.ocean_label",                                              "ThemesMenu.ocean_mnemonic",                                              "ThemesMenu.ocean_accessible_description",                                              new OceanTheme());        mi.setSelected(true); // This is the default theme        createThemesMenuItem(themesMenu, "ThemesMenu.steel_label",                             "ThemesMenu.steel_mnemonic",                             "ThemesMenu.steel_accessible_description",                             new DefaultMetalTheme());		createThemesMenuItem(themesMenu, "ThemesMenu.aqua_label", "ThemesMenu.aqua_mnemonic",		       "ThemesMenu.aqua_accessible_description", new AquaTheme());	createThemesMenuItem(themesMenu, "ThemesMenu.charcoal_label", "ThemesMenu.charcoal_mnemonic",		       "ThemesMenu.charcoal_accessible_description", new CharcoalTheme());	createThemesMenuItem(themesMenu, "ThemesMenu.contrast_label", "ThemesMenu.contrast_mnemonic",		       "ThemesMenu.contrast_accessible_description", new ContrastTheme());	createThemesMenuItem(themesMenu, "ThemesMenu.emerald_label", "ThemesMenu.emerald_mnemonic",		       "ThemesMenu.emerald_accessible_description", new EmeraldTheme());	createThemesMenuItem(themesMenu, "ThemesMenu.ruby_label", "ThemesMenu.ruby_mnemonic",		       "ThemesMenu.ruby_accessible_description", new RubyTheme());        // ***** create the options menu        optionsMenu = (JMenu)menuBar.add(            new JMenu(getString("OptionsMenu.options_label")));        optionsMenu.setMnemonic(getMnemonic("OptionsMenu.options_mnemonic"));        optionsMenu.getAccessibleContext().setAccessibleDescription(            getString("OptionsMenu.options_accessible_description"));        // ***** create tool tip submenu item.        mi = createCheckBoxMenuItem(optionsMenu, "OptionsMenu.tooltip_label",                "OptionsMenu.tooltip_mnemonic",                "OptionsMenu.tooltip_accessible_description",                new ToolTipAction());        mi.setSelected(true);        // ***** create drag support submenu item.        createCheckBoxMenuItem(optionsMenu, "OptionsMenu.dragEnabled_label",                "OptionsMenu.dragEnabled_mnemonic",                "OptionsMenu.dragEnabled_accessible_description",                new DragSupportAction());        }	// ***** create the multiscreen menu, if we have multiple screens    if (!isApplet()) {        GraphicsDevice[] screens = GraphicsEnvironment.                                    getLocalGraphicsEnvironment().                                    getScreenDevices();        if (screens.length > 1) {            JMenu multiScreenMenu = (JMenu) menuBar.add(new JMenu(                                     getString("MultiMenu.multi_label")));            multiScreenMenu.setMnemonic(getMnemonic("MultiMenu.multi_mnemonic"));                multiScreenMenu.getAccessibleContext().setAccessibleDescription(             getString("MultiMenu.multi_accessible_description"));            createMultiscreenMenuItem(multiScreenMenu, MultiScreenAction.ALL_SCREENS);            for (int i = 0; i < screens.length; i++) {                createMultiscreenMenuItem(multiScreenMenu, i);            }        }    }	return menuBar;    }    /**     * Create a checkbox menu menu item     */    private JMenuItem createCheckBoxMenuItem(JMenu menu, String label,                                             String mnemonic,                                             String accessibleDescription,                                             Action action) {        JCheckBoxMenuItem mi = (JCheckBoxMenuItem)menu.add(                new JCheckBoxMenuItem(getString(label)));        mi.setMnemonic(getMnemonic(mnemonic));        mi.getAccessibleContext().setAccessibleDescription(getString(                accessibleDescription));        mi.addActionListener(action);        return mi;    }    /**     * Create a radio button menu menu item for items that are part of a     * button group.     */    private JMenuItem createButtonGroupMenuItem(JMenu menu, String label,                                                String mnemonic,                                                String accessibleDescription,                                                Action action,                                                ButtonGroup buttonGroup) {        JRadioButtonMenuItem mi = (JRadioButtonMenuItem)menu.add(                new JRadioButtonMenuItem(getString(label)));        buttonGroup.add(mi);        mi.setMnemonic(getMnemonic(mnemonic));        mi.getAccessibleContext().setAccessibleDescription(getString(                accessibleDescription));        mi.addActionListener(action);        return mi;    }    /**     * Create the theme's audio submenu     */    public JMenuItem createAudioMenuItem(JMenu menu, String label,					 String mnemonic,					 String accessibleDescription,					 Action action) {        JRadioButtonMenuItem mi = (JRadioButtonMenuItem) menu.add(new JRadioButtonMenuItem(getString(label)));	audioMenuGroup.add(mi);	mi.setMnemonic(getMnemonic(mnemonic));	mi.getAccessibleContext().setAccessibleDescription(getString(accessibleDescription));	mi.addActionListener(action);	return mi;    }    /**     * Creates a generic menu item     */    public JMenuItem createMenuItem(JMenu menu, String label, String mnemonic,			       String accessibleDescription, Action action) {        JMenuItem mi = (JMenuItem) menu.add(new JMenuItem(getString(label)));	mi.setMnemonic(getMnemonic(mnemonic));	mi.getAccessibleContext().setAccessibleDescription(getString(accessibleDescription));	mi.addActionListener(action);	if(action == null) {	    mi.setEnabled(false);	}	return mi;    }    /**     * Creates a JRadioButtonMenuItem for the Themes menu     */    public JMenuItem createThemesMenuItem(JMenu menu, String label, String mnemonic,			       String accessibleDescription, MetalTheme theme) {        JRadioButtonMenuItem mi = (JRadioButtonMenuItem) menu.add(new JRadioButtonMenuItem(getString(label)));	themesMenuGroup.add(mi);	mi.setMnemonic(getMnemonic(mnemonic));	mi.getAccessibleContext().setAccessibleDescription(getString(accessibleDescription));	mi.addActionListener(new ChangeThemeAction(this, theme));	return mi;    }    /**     * Creates a JRadioButtonMenuItem for the Look and Feel menu     */    public JMenuItem createLafMenuItem(JMenu menu, String label, String mnemonic,			       String accessibleDescription, String laf) {        JMenuItem mi = (JRadioButtonMenuItem) menu.add(new JRadioButtonMenuItem(getString(label)));	lafMenuGroup.add(mi);	mi.setMnemonic(getMnemonic(mnemonic));	mi.getAccessibleContext().setAccessibleDescription(getString(accessibleDescription));	mi.addActionListener(new ChangeLookAndFeelAction(this, laf));	mi.setEnabled(isAvailableLookAndFeel(laf));	return mi;    }    /**     * Creates a multi-screen menu item     */    public JMenuItem createMultiscreenMenuItem(JMenu menu, int screen) {        JMenuItem mi = null;        if (screen == MultiScreenAction.ALL_SCREENS) {            mi = (JMenuItem) menu.add(new JMenuItem(getString("MultiMenu.all_label")));            mi.setMnemonic(getMnemonic("MultiMenu.all_mnemonic"));            mi.getAccessibleContext().setAccessibleDescription(getString(                                                                 "MultiMenu.all_accessible_description"));        }        else {            mi = (JMenuItem) menu.add(new JMenuItem(getString("MultiMenu.single_label") + " " +                                                                                                 screen));            mi.setMnemonic(KeyEvent.VK_0 + screen);            mi.getAccessibleContext().setAccessibleDescription(getString(                                               "MultiMenu.single_accessible_description") + " " + screen);                                                                                                    }        mi.addActionListener(new MultiScreenAction(this, screen));        return mi;    }    public JPopupMenu createPopupMenu() { 	JPopupMenu popup = new JPopupMenu("JPopupMenu demo");	 	createPopupMenuItem(popup, "LafMenu.java_label", "LafMenu.java_mnemonic",			    "LafMenu.java_accessible_description", metal);	 	createPopupMenuItem(popup, "LafMenu.mac_label", "LafMenu.mac_mnemonic",			    "LafMenu.mac_accessible_description", mac);	 	createPopupMenuItem(popup, "LafMenu.motif_label", "LafMenu.motif_mnemonic",			    "LafMenu.motif_accessible_description", motif);	 	createPopupMenuItem(popup, "LafMenu.windows_label", "LafMenu.windows_mnemonic",			    "LafMenu.windows_accessible_description", windows);		createPopupMenuItem(popup, "LafMenu.gtk_label", "LafMenu.gtk_mnemonic",			    "LafMenu.gtk_accessible_description", gtk); 	// register key binding to activate popup menu 	InputMap map = getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); 	map.put(KeyStroke.getKeyStroke(KeyEvent.VK_F10, InputEvent.SHIFT_MASK), 		"postMenuAction");        map.put(KeyStroke.getKeyStroke(KeyEvent.VK_CONTEXT_MENU, 0), "postMenuAction"); 	getActionMap().put("postMenuAction", new ActivatePopupMenuAction(this, popup)); 	 	return popup;    }        /**     * Creates a JMenuItem for the Look and Feel popup menu     */    public JMenuItem createPopupMenuItem(JPopupMenu menu, String label, String mnemonic, 					 String accessibleDescription, String laf) {	JMenuItem mi = menu.add(new JMenuItem(getString(label)));	popupMenuGroup.add(mi); 	mi.setMnemonic(getMnemonic(mnemonic)); 	mi.getAccessibleContext().setAccessibleDescription(getString(accessibleDescription)); 	mi.addActionListener(new ChangeLookAndFeelAction(this, laf)); 	mi.setEnabled(isAvailableLookAndFeel(laf));	 	return mi;    }        /**     * Load the first demo. This is done separately from the remaining demos     * so that we can get SwingSet2 up and available to the user quickly.     */    public void preloadFirstDemo() {	DemoModule demo = addDemo(new InternalFrameDemo(this));	setDemo(demo);    }    /**     * Add a demo to the toolbar     */    public DemoModule addDemo(DemoModule demo) {	demosList.add(demo);        if (dragEnabled) {            demo.updateDragEnabled(true);        }	// do the following on the gui thread	SwingUtilities.invokeLater(new SwingSetRunnable(this, demo) {	    public void run() {		SwitchToDemoAction action = new SwitchToDemoAction(swingset, (DemoModule) obj);		JToggleButton tb = swingset.getToolBar().addToggleButton(action);		swingset.getToolBarGroup().add(tb);		if(swingset.getToolBarGroup().getSelection() == null) {		    tb.setSelected(true);		}		tb.setText(null);		tb.setToolTipText(((DemoModule)obj).getToolTip());		if(demos[demos.length-1].equals(obj.getClass().getName())) { 		    setStatus(getString("Status.popupMenuAccessible"));		} 		  	    }	});	return demo;    }    /**     * Sets the current demo     */    public void setDemo(DemoModule demo) {

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?