storagemenubar.java

来自「Java的面向对象数据库系统的源代码」· Java 代码 · 共 95 行

JAVA
95
字号
//$Id: StorageMenubar.java,v 1.2 2002/08/27 08:32:26 per_nyfelt Exp $

package org.ozoneDB.core.monitor;

import org.ozoneDB.DxLib.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;


/**
 * @version $Id: StorageMenubar.java,v 1.2 2002/08/27 08:32:26 per_nyfelt Exp $
 * @author softwarebuero m&b
 */
public class StorageMenubar extends MenuBar {


    /** */
    public StorageMenubar( ActionListener listener ) {
        Menu menu;
        menu = new Menu( "Server" );
        menu.addSeparator();
        addMenuItem( menu, "STOP", listener );
        add( menu );

        menu = new Menu( "Help" );
        addMenuItem( menu, "About...", listener );
        add( menu );
        setHelpMenu( menu );
    }


    /** */
    private void addMenuItem( Menu menu, String orgName, ActionListener listener ) {
        String name = orgName;
        int pos = name.indexOf( '&' );
        MenuShortcut shortcut = null;
        MenuItem mitem;

        if (pos != -1) {
            if (pos < (name.length() - 1)) {
                char c = name.charAt( pos + 1 );
                shortcut = new MenuShortcut( Character.toLowerCase( c ) );
                name = name.substring( 0, pos ) + name.substring( pos + 1 );
            }
        }

        if (shortcut != null) {
            mitem = new MenuItem( name, shortcut );
        } else {
            mitem = new MenuItem( name );
        }

        mitem.setActionCommand( orgName );
        mitem.addActionListener( listener );
        menu.add( mitem );
    }


    /** */
    private String cleanLabel( String name ) {
        int pos = name.indexOf( '&' );
        if (pos != -1) {
            if (pos < (name.length() - 1)) {
                name = name.substring( 0, pos ) + name.substring( pos + 1 );
            }
        }

        return name;
    }


    /** */
    public void enableItem( String menuLabel, String itemLabel, boolean enable ) {
        Menu menu = null;
        for (int i = 0; i < getMenuCount(); i++) {
            if (getMenu( i ).getLabel().equals( menuLabel )) {
                menu = getMenu( i );
                break;
            }
        }
        if (menu == null) {
            return;
        }

        for (int i = 0; i < menu.getItemCount(); i++) {
            if (menu.getItem( i ).getLabel().equals( itemLabel )) {
                menu.getItem( i ).setEnabled( enable );
                break;
            }
        }
    }
}

⌨️ 快捷键说明

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