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

📄 constraintspanel.java

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

  class OrderingToolBar extends JToolBar
                        implements ActionListener, OrderingSelector {

     protected HelpWindow     helpWin;
     protected JToggleButton  helpBtn;
     protected JButton        newBtn;
     protected JButton        deleteBtn;
     protected OrderingDialog dialog;

     public OrderingToolBar() {
        setBackground(java.awt.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();
     
        // 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);

        dialog = new OrderingDialog((Frame)SwingUtilities.getRoot(this),
                                    "Select ordering", precondsModel);
     }
  
     public void setEnabled(boolean set) {
        newBtn.setEnabled(set);
        deleteBtn.setEnabled(set);
     }

     public void orderingSelected(String left, String[] right) {
        orderingModel.addNewRows(left,right);
     }

     public void actionPerformed(ActionEvent e)  {
        Object src = e.getSource();
        if ( src == newBtn ) {
           dialog.setLocationRelativeTo(newBtn);	
           dialog.display(this);
        }
        else if ( src == deleteBtn ) {
           if ( !isRowSelected(orderingTable) ) return;
           orderingModel.removeRows(orderingTable.getSelectedRows());
        }  
        else if ( src == helpBtn ) {
          if ( helpBtn.isSelected() ) {
              Point dispos = getLocation();
              helpWin = new HelpWindow(SwingUtilities.getRoot(this),
                 dispos, "generator", "Preconditions Ordering Table");
              helpWin.setSource(helpBtn);
          }
          else
              helpWin.dispose();
        }
     }
  }

  class ConstraintsToolBar extends JToolBar implements ActionListener {

     protected HelpWindow    helpWin;
     protected JToggleButton helpBtn;
     protected JButton       newBtn;
     protected JButton       deleteBtn;
    
     public ConstraintsToolBar() {
        setBackground(java.awt.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();
     
        // 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);
     }
  
     public void setEnabled(boolean set) {
        newBtn.setEnabled(set);
        deleteBtn.setEnabled(set);
     }

     public void actionPerformed(ActionEvent e)  {
        Object src = e.getSource();
        if ( src == newBtn ) {
           constraintsModel.addNewRow();
        }
        else if ( src == deleteBtn ) {
           if ( !isRowSelected(constraintsTable) ) return;
           constraintsModel.removeRows(constraintsTable.getSelectedRows());
        }  
        else if ( src == helpBtn ) {
          if ( helpBtn.isSelected() ) {
              Point dispos = getLocation();
              helpWin = new HelpWindow(SwingUtilities.getRoot(this),
                 dispos, "generator", "Task Applicability Constraints Table");
              helpWin.setSource(helpBtn);
          }
          else
              helpWin.dispose();
        }
     }
  }

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

     public Component getTableCellEditorComponent(JTable table, Object value,
                                                  boolean isSelected, 
                                                  int row, int column) {

        JComboBox combo = ((JComboBox)editorComponent);
        Fact[] facts = precondsModel.getData();
        String[] items = new String[facts.length];
        for(int i = 0; i < facts.length; i++ )
           items[i] = facts[i].getId();

        if ( combo.getItemCount() != 0 )
	   combo.removeAllItems();
        for(int i = 0; i < items.length; i++ ) {
           combo.addItem(items[i]);
        }
        combo.setSelectedItem(value);
        return super.getTableCellEditorComponent(table,value,isSelected,row,column);
     }
  }

  class SymMouseAction extends MouseAdapter implements AttributeSelector {
     protected JTextComponent field = null;
     protected AttributeDialog dialog = null;
     protected AttributeTreeModel attributeTreeModel = null;

     public SymMouseAction() {
        attributeTreeModel = new AttributeTreeModel();
        attributeTreeModel.setFactModels(precondsModel,postcondsModel);
     }
     public void mouseClicked(MouseEvent e) {
        if ( SwingUtilities.isRightMouseButton(e) ) {
           field = (JTextComponent)e.getSource();
           if ( dialog == null )
              dialog = new AttributeDialog(
	         (Frame)SwingUtilities.getRoot(field),attributeTreeModel);
           dialog.setLocationRelativeTo(field);
           dialog.display(this);
        }
     }
     public void attributeSelected(String attribute) {
        try {
	   Document doc = field.getDocument();
           int length = doc.getLength();
           AttributeSet a = doc.getDefaultRootElement().getAttributes();
           doc.insertString(length,attribute,a);
	}
	catch(BadLocationException e) {
	}
     }
  }

  protected boolean isRowSelected(JTable table) {
     int row = table.getSelectedRow();
     if ( row == -1) {
        errorMsg(0);
        return false;
     }
     return true;
  }

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

  void save() {
     task.setConstraints(constraintsModel.getData());
     if ( task.isPrimitive() )
        ((PrimitiveTask)task).setOrdering(orderingModel.getData());
  }
}

⌨️ 快捷键说明

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