📄 organisationpanel.java
字号:
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 + -