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

📄 organisationpanel.java

📁 人工智能中Agent开发包。多 Agent 系统是处理自治 Agent 之间知识层的协作问题
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        group.add(nonpeerBtn);
    
        addSeparator();

        // Help Button
        helpBtn = new JToggleButton(new ImageIcon(path + "help.gif"));
	helpBtn.setMargin(new Insets(0,0,0,0));	
        add(helpBtn);
        helpBtn.setToolTipText("Help");
        helpBtn.addActionListener(this);

        // ---- Popup Menu for Acquaintances ----
        popup = new JPopupMenu("Add new acquaintance");
        addMenuItem = new JMenuItem("Create new acquaintance");
        addMenuItem.addActionListener(this);

        CompoundBorder cbr = new CompoundBorder(new EtchedBorder(),
                                                new EmptyBorder(5,5,5,5));
        popup.setBorder(cbr);
     }

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

        if ( src == newBtn ) {
           popup.removeAll();
           popup.add(addMenuItem);
           popup.addSeparator();

           String[] items = genmodel.getAgentNames();
           Vector names = new Vector();
           names.addElement(editor.getObjectName());
           for(int i = 0; i < acquaintanceModel.getRowCount(); i++ ) 
              names.addElement(acquaintanceModel.getValueAt(i,AcquaintanceModel.AGENT));
           Vector allNames = Misc.stringVector(items);
           Vector validNames = Misc.difference(allNames,names);

           JMenuItem mi;
           for(int i = 0; i < validNames.size(); i++ ) {
              mi = new JMenuItem((String)validNames.elementAt(i));
              mi.addActionListener(this);
              mi.setActionCommand("NEW_ACQUAINTANCE");
              popup.add(mi);
           }
           popup.pack();
           popup.show(newBtn,0,0);
        }
        else if ( src == addMenuItem )
           addNewAcquaintance();
        else if ( e.getActionCommand().equals("NEW_ACQUAINTANCE") )
           addNewAcquaintance(((JMenuItem)src).getText());         
        else if ( src == editBtn )
           editAcquaintance();
        else if ( src == deleteBtn )
           removeAcquaintance();
        if ( src == resetBtn )
           resetAcquaintance();
        else if ( src == allBtn )
           acquaintanceModel.setFilter(AcquaintanceModel.ALL);
        else if ( src == peerBtn )
           acquaintanceModel.setFilter(AcquaintanceModel.PEERS);
        else if ( src == nonpeerBtn )
           acquaintanceModel.setFilter(AcquaintanceModel.OTHERS);
        else if ( src == helpBtn ) {
           if (helpBtn.isSelected() ) {
              Point dispos = getLocation();
              helpWin = new HelpWindow(SwingUtilities.getRoot(this),
                 dispos, "generator", "Activity Org-1");
              helpWin.setSource(helpBtn);
           }
           else {
              helpWin.dispose();
           }
        }
     }
  }

  class FactToolBar extends JToolBar
                    implements ActionListener,
                               FactSelector {

     protected FactDialog    factWin;
     protected HelpWindow    helpWin;
     protected JToggleButton helpBtn;
     protected JButton       newBtn;
     protected JButton       deleteBtn;
     protected JButton       cutBtn;
     protected JButton       copyBtn;
     protected JButton       pasteBtn;
    
     public FactToolBar() {
        setBackground(Color.lightGray);
        setBorder(new BevelBorder(BevelBorder.LOWERED));
        setFloatable(false);
    
        String sep = System.getProperty("file.separator");
        String path = SystemProps.getProperty("gif.dir") + "generator" + sep;

        // New Button
        newBtn = new JButton(new ImageIcon(path + "new1.gif"));
	newBtn.setMargin(new Insets(0,0,0,0));	
        add(newBtn);
        newBtn.setToolTipText("New");    
        newBtn.addActionListener(this);

        // Delete Button
        deleteBtn = new JButton(new ImageIcon(path + "delete1.gif"));
	deleteBtn.setMargin(new Insets(0,0,0,0));	
        add(deleteBtn);
        deleteBtn.setToolTipText("Delete");
        deleteBtn.addActionListener(this);

        addSeparator();
     
        // Cut Button
        cutBtn = new JButton(new ImageIcon(path + "cut.gif"));
	cutBtn.setMargin(new Insets(0,0,0,0));	
        add(cutBtn);
        cutBtn.setToolTipText("Cut");
        cutBtn.addActionListener(this);

        // Copy Button
        copyBtn = new JButton(new ImageIcon(path + "copy.gif"));
	copyBtn.setMargin(new Insets(0,0,0,0));	
        add(copyBtn);
        copyBtn.setToolTipText("Copy");
        copyBtn.addActionListener(this);

        // Paste Button
        pasteBtn = new JButton(new ImageIcon(path + "paste.gif"));
	pasteBtn.setMargin(new Insets(0,0,0,0));	
        add(pasteBtn);
        pasteBtn.setToolTipText("Paste");
        pasteBtn.addActionListener(this);
      
        addSeparator();
      
        // Help Button
        helpBtn = new JToggleButton(new ImageIcon(path + "help.gif"));
	helpBtn.setMargin(new Insets(0,0,0,0));
        add(helpBtn);
        helpBtn.setToolTipText("Help");
        helpBtn.addActionListener(this);

        factWin = new FactDialog(editor, ontologyDb); 
     }
  
     public void setEnabled(boolean set) {
        newBtn.setEnabled(set);
        deleteBtn.setEnabled(set);
        cutBtn.setEnabled(set);
        copyBtn.setEnabled(set);
        pasteBtn.setEnabled(set);
     }

     public void factSelected(String[] names)  {
        // Fact Selector callback to add new entries
        abilityModel.addNewRows(names);
     }

     public void actionPerformed(ActionEvent e)  {
        Object src = e.getSource();
        if ( src == newBtn ) {
           factWin.setLocationRelativeTo(newBtn);
           factWin.display(this);
        }
        else if ( src == deleteBtn ) {
           deleteSelectedAbilities();
        }  
        else if ( src == copyBtn ) {
           clipboard = getSelectedAbilities();
        }
        else if ( src == pasteBtn ) {
           abilityModel.addRows(clipboard);
           abilityTable.clearSelection();
        }
        else if ( src == cutBtn ) {
           clipboard = cutSelectedAbilities();
        }
        else if ( src == helpBtn ) {
          if ( helpBtn.isSelected() ) {
              Point dispos = getLocation();
              helpWin = new HelpWindow(editor, dispos, "generator", "Activity Org-2");
              helpWin.setSource(helpBtn);
          }
          else
              helpWin.dispose();
        }
     }
  }

  class RelationEditor extends DefaultCellEditor {
     public RelationEditor() {
        super( new JComboBox(AcquaintanceModel.RELATIONS_LIST) {
                      public void contentsChanged(ListDataEvent e) {
                         selectedItemReminder = null; 
                         super.contentsChanged(e);
                      }
               }
        );
        setClickCountToStart(2);
     }
  }

  class SymListAction1 implements ListSelectionListener {
     public void valueChanged(ListSelectionEvent e) {
        int row = acquaintanceTable.getSelectedRow();
        acquaintanceModel.selectRow(row);
        factToolBar.setEnabled(row != -1);
        repaint(); // swing bug?
     }
  }

  class SymListAction2 implements ListSelectionListener {
     public void valueChanged(ListSelectionEvent e) {
        abilityModel.selectRow(abilityTable.getSelectedRow());
        repaint(); // swing bug?
     }
  }

  // End of inner classes

  void errorMsg(int tag) {
     JOptionPane.showMessageDialog(this,ERROR_MESSAGE[tag],
                                   "Error", JOptionPane.ERROR_MESSAGE);
  }

  protected void resetAcquaintance() {
     int row = acquaintanceTable.getSelectedRow();
     if (row == -1) {
        errorMsg(0);
        return;
     }
     acquaintanceModel.setValueAt(
        SystemProps.getProperty("organisation.relations.default"),
        row,AcquaintanceModel.RELATION);
  } 

  protected String getSelectedAcquaintanceName() {
    int row = acquaintanceTable.getSelectedRow();
    if ( row == -1 ) {
       errorMsg(0);
       return null;
    }
    return (String)acquaintanceModel.getValueAt(row,AcquaintanceModel.AGENT);
  }

  protected String getSelectedAcquaintanceId() {
    int row = acquaintanceTable.getSelectedRow();
    if ( row == -1 ) {
       errorMsg(0);
       return null;
    }
    return (String)acquaintanceModel.getValueAt(row,AcquaintanceModel.ID);
  }
  
  protected void addNewAcquaintance() {
    acquaintanceModel.addNewRow();
    factToolBar.setEnabled(false);
  }

  protected void addNewAcquaintance(String name) {
    acquaintanceModel.addNewRow(name);
    factToolBar.setEnabled(false);
  }

  protected void editAcquaintance() {
    String id = getSelectedAcquaintanceId();
    if ( id == null ) return;
    generator.editAgent(id);
  }

  protected void removeAcquaintance() {
    int row = acquaintanceTable.getSelectedRow();
    if ( row == -1 ) {
       errorMsg(0);
       return;
    }
    acquaintanceModel.removeRow(row);
    factToolBar.setEnabled(false);
    repaint(); // swing bug?
  }

  protected void reset(Acquaintance[] data) {
     acquaintanceModel.reset(data);
     factToolBar.setEnabled(false);
  }
  
  protected Acquaintance[] getData() {
     return acquaintanceModel.getData();
  }
  
  protected AbilitySpec[] getSelectedAbilities()  {
    int[] srows = abilityTable.getSelectedRows();
    AbilitySpec[] data = new AbilitySpec[srows.length];
    for(int i = 0; i < srows.length; i++)
       data[i] = (AbilitySpec)abilityModel.getValueAt(srows[i],AbilityModel.ABILITY);
    return data;
  }
  
  protected AbilitySpec[] cutSelectedAbilities()  {
     AbilitySpec[] data = getSelectedAbilities();
     abilityModel.removeRows(abilityTable.getSelectedRows());
     repaint(); // swing bug?
     return data;
  }
 
  protected void deleteSelectedAbilities()  {
     int row = abilityTable.getSelectedRow();
     if ( row == -1 ) {
        errorMsg(0);
        return;
     }
     cutSelectedAbilities();
  }

  public void save() {
     agent.setAcquaintances(acquaintanceModel.getData());
  }
}

⌨️ 快捷键说明

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