⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 controlmenubar.java

📁 人工智能中Agent开发包。多 Agent 系统是处理自治 Agent 之间知识层的协作问题
💻 JAVA
字号:
/*
* The contents of this file are subject to the BT "ZEUS" Open Source 
* Licence (L77741), Version 1.0 (the "Licence"); you may not use this file 
* except in compliance with the Licence. You may obtain a copy of the Licence
* from $ZEUS_INSTALL/licence.html or alternatively from
* http://www.labs.bt.com/projects/agents/zeus/licence.htm
* 
* Except as stated in Clause 7 of the Licence, software distributed under the
* Licence is distributed WITHOUT WARRANTY OF ANY KIND, either express or 
* implied. See the Licence for the specific language governing rights and 
* limitations under the Licence.
* 
* The Original Code is within the package zeus.*.
* The Initial Developer of the Original Code is British Telecommunications
* public limited company, whose registered office is at 81 Newgate Street, 
* London, EC1A 7AJ, England. Portions created by British Telecommunications 
* public limited company are Copyright 1996-9. All Rights Reserved.
* 
* THIS NOTICE MUST BE INCLUDED ON ANY COPY OF THIS FILE
*/



package zeus.visualiser.control;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import zeus.util.Assert;


public class ControlMenuBar extends JMenuBar implements ActionListener
{
  protected JMenu fileMenu, agentMenu, goalMenu, orgMenu, coordMenu,
	                societyMenu, helpMenu;

  protected JMenuItem connect, disconnect, exit, load;
  protected JMenuItem browse_agent, tune_agent, command,
                      cc_fact, uncc_fact, browse_fact, add_fact,
                      cc_task, uncc_task, browse_task, add_task;
  protected JMenuItem cc_rel, uncc_rel, browse_rel, add_rel,
                      cc_sgy, uncc_sgy, browse_sgy, add_sgy;
  protected JMenuItem browse_goal, add_goal, cc_goal, uncc_goal;
  protected JMenuItem help, about;

  protected ControlTool view;

  protected static final int CHECK = 0;
  protected static final int PLAIN = 1;
  protected static final int RADIO = 2;


  public ControlMenuBar(ControlTool view)
	{
    super();
    Assert.notNull(view);
    this.view = view;

    fileMenu = new JMenu("File");
    fileMenu.setMnemonic('F');
    connect    = createMenuItem(fileMenu, PLAIN, "Connect to namservers", 'C');
    disconnect = createMenuItem(fileMenu, PLAIN, "Disconnect from nameservers",'D');
    command    = createMenuItem(fileMenu, PLAIN, "Send commands...", 'S');
    command.setEnabled(false);
		load       = createMenuItem(fileMenu, PLAIN, "Load Ontology...", 'O');
    exit       = createMenuItem(fileMenu, PLAIN, "Quit", 'Q');
    add(fileMenu);

    agentMenu = new JMenu("Agents");
    agentMenu.setMnemonic('A');
    tune_agent  = createMenuItem(agentMenu, PLAIN, "Tune Agent...", 'T');
    cc_fact     = createMenuItem(agentMenu, PLAIN, "Request a Resource...", 'R');
    uncc_fact   = createMenuItem(agentMenu, PLAIN, "Unrequest Resource...", 'U');;
    browse_fact = createMenuItem(agentMenu, PLAIN, "Browse Resources...", 'B');
    add_fact    = createMenuItem(agentMenu, PLAIN, "Add a Resource...", 'A');
    agentMenu.addSeparator();
    cc_task     = createMenuItem(agentMenu, PLAIN, "Request Tasks...", 0);
    uncc_task   = createMenuItem(agentMenu, PLAIN, "Unrequest Tasks...", 0);
    browse_task = createMenuItem(agentMenu, PLAIN, "Browse Tasks...", 0);
    add_task    = createMenuItem(agentMenu, PLAIN, "Add a Task...", 0);
    add(agentMenu);
    agentMenu.setEnabled(false);

    goalMenu = new JMenu("Goals");
    goalMenu.setMnemonic('G');
    cc_goal     = createMenuItem(agentMenu, PLAIN, "Request Goals...", 'R');
    uncc_goal   = createMenuItem(agentMenu, PLAIN, "Unrequest Goals...", 'U');;
    browse_goal = createMenuItem(agentMenu, PLAIN, "Browse Goals...", 'B');
    add_goal    = createMenuItem(agentMenu, PLAIN, "Add a Goal...", 'A');;
    add(goalMenu);
    goalMenu.setEnabled(false);

    orgMenu = new JMenu("Organisation");
    orgMenu.setMnemonic('O');
    cc_rel     = createMenuItem(agentMenu, PLAIN, "Request Relations...", 'R');
    uncc_rel   = createMenuItem(agentMenu, PLAIN, "Unrequest Relations...", 'U');
    browse_rel = createMenuItem(agentMenu, PLAIN, "Browse Relations...", 'B');
    add_rel    = createMenuItem(agentMenu, PLAIN, "Add a Relation...", 'A');
    add(orgMenu);
    orgMenu.setEnabled(false);

		societyMenu = new JMenu("Society");
    societyMenu.setMnemonic('S');
    browse_agent = createMenuItem(agentMenu, PLAIN, "Browse Agents...", 'B');
    add(societyMenu);
    societyMenu.setEnabled(false);

    coordMenu = new JMenu("Co-ordination");
    coordMenu.setMnemonic('C');
		cc_sgy     = createMenuItem(agentMenu, PLAIN, "Request Strategies...", 'R');
    uncc_sgy   = createMenuItem(agentMenu, PLAIN, "Unrequest Strategies...", 'U');
    browse_sgy = createMenuItem(agentMenu, PLAIN, "Browse Strategies...", 'B');
    add_sgy    = createMenuItem(agentMenu, PLAIN, "Add a Strategy...", 'A');
    add(coordMenu);
    coordMenu.setEnabled(false);

    helpMenu = new JMenu("Help");
    helpMenu.setMnemonic('H');
    help  = createMenuItem(helpMenu, PLAIN, "Using the Control Tool", 'U');
    about = createMenuItem(helpMenu, PLAIN, "About ZEUS", 'A');
    add(helpMenu);
  }


  private JMenuItem createMenuItem(JMenu menu, int type, String text, int accelKey)
	{
     JMenuItem item;
     switch(type)
		 {
       /* case CHECK :
         item = new JCheckBoxMenuItem();
         ((JCheckBoxMenuItem) item).setState(false);
         item.addItemListener(this);
         break; */
       case RADIO :
         item = new JRadioButtonMenuItem();
         item.addActionListener(this);
       default :
         item = new JMenuItem();
         item.addActionListener(this);
         break;
     }
     item.setText(text);
     if(accelKey > 0)
       item.setMnemonic(accelKey);
     menu.add(item);
     return item;
   }



  public void actionPerformed(ActionEvent event)
	{
    Object src = event.getSource();

    if      ( src == connect       ) view.Connect(true);
    else if ( src == disconnect    ) view.Connect(false);
    else if ( src == load          ) view.LoadOntology();
    else if ( src == command       ) view.SendCommand();
    else if ( src == exit          ) view.Exit();

    /* else if ( src == browse_agent  ) view.BrowseAgents();

    else if ( src == tune_agent    ) view.TuneAgent();

    else if ( src == browse_fact   ) view.BrowseFacts();
    else if ( src == add_fact      ) view.AddFact();
    else if ( src == cc_fact       ) view.StreamFacts(true);
    else if ( src == uncc_fact     ) view.StreamFacts(false);

    else if ( src == browse_task   ) view.BrowseTasks();
    else if ( src == add_task      ) view.AddTask();
    else if ( src == cc_task       ) view.StreamTasks(true);
    else if ( src == uncc_task     ) view.StreamTasks(false);

    else if ( src == browse_goal    ) view.BrowseGoals();
    else if ( src == add_goal       ) view.AddGoal();
    else if ( src == cc_goal        ) view.StreamGoals(true);
    else if ( src == uncc_goal      ) view.StreamGoals(false);

    else if ( src == browse_rel    ) view.BrowseRelations();
    else if ( src == add_rel       ) view.AddRelation();
    else if ( src == cc_rel        ) view.StreamRelations(true);
    else if ( src == uncc_rel      ) view.StreamRelations(false);

    else if ( src == browse_sgy    ) view.BrowseStrategies();
    else if ( src == add_sgy       ) view.AddStrategy();
    else if ( src == cc_sgy        ) view.StreamStrategies(true);
    else if ( src == uncc_sgy      ) view.StreamStrategies(false); */

    else if ( src == help          ) view.showHelp();
    else if ( src == about         ) view.About();
  }
}

⌨️ 快捷键说明

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