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