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

📄 conditionstable.java

📁 一个完整的XACML工程,学习XACML技术的好例子!
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        
        return tableView;
    }
    
    /**
     * This method defines which data is allowed to be inputted from the data
     * selections in the drop down lists.
     */
    public void getRelations() {
        varTypeLinks = new Hashtable();
        for(int y = 1; ; y++) {
            try {
                String tmpString = "type" + y;
                Vector tmpContents = getOperatorTypes(rb.getString(tmpString));
                varTypeLinks.put(rb.getString(tmpString), tmpContents);
            } catch(MissingResourceException mre) {
                break;
            }
        }
    }
    
    public Vector getOperatorTypes(String type) {
        Vector operatorVector = new Vector();
        String itemRead;
        
        for(int y = 1; ; y++) {
            try {
                itemRead = rb.getString(type + y);
                int indexSpace = itemRead.indexOf(" ");
                String operator[] = new String[2];
                operator[0] = itemRead.substring(indexSpace + 1);
                operator[1] = itemRead.substring(0,  indexSpace);
                operatorVector.add(operator);
            } catch(MissingResourceException mre) {
                break;
            }
        }
        return operatorVector;
    }
    
    public void addRow(final int rowLevel) {
        //four vectors that store the contents of the rows.
        //final JComboBox conditionOnCB = new ConditionOnComboBox(this.xmlED, index);
        final ConditionOnComboBox conditionOnCB = new ConditionOnComboBox(this.xmlED, index);
        conditionOnCB.addActionListener(this);
        conditionOnCB.setActionCommand("COMBO_ONE_SELECTED");
        column1Store.add(conditionOnCB);
        
        if (conditionOnCB.types != null && conditionOnCB.types.length > 0) {
            column2Store.add(setUpColumnTwo(conditionOnCB.types[0]));
            JTextField textField = new JTextField();
            textField.addMouseListener(this);
            column3Store.add(setUpColumnThree(textField, conditionOnCB.types[0]));
        } else {
            column2Store.add(new JComboBox());
            column3Store.add(new JTextField());
        }
        
        JButton delete = new JButton("-");
        delete.addActionListener(this);
        delete.setActionCommand("DELETE_BUTTON_SELECTED");
        delete.setToolTipText(deleteButtonTtipCaption);
        column4Store.add(delete);
        
        Object[] constraint = {((JComboBox)column1Store.get(rowLevel)),
        ((JComboBox)column2Store.get(rowLevel)),
        ((JTextField)column3Store.get(rowLevel)),
        ((JButton)column4Store.get(rowLevel))};
        
        tableModel.addRow(constraint);
        setRowHeight(20);
    }
    
    public void deleteRow(final int rowLevel) {
        table.getCellEditor().cancelCellEditing();
        column1Store.remove(rowLevel);
        column2Store.remove(rowLevel);
        column3Store.remove(rowLevel);
        column4Store.remove(rowLevel);
        tableModel.removeRow(rowLevel);
    }
    
    public JTextField setUpColumnThree(JTextField tf, String type) {
        if (type.equals(rb.getString("type2"))) {
            tf.setEditable(false);
            tf.setText("YYYY-MM-DD");
        } else if (type.equals(rb.getString("type1"))) {
            tf.setEditable(false);
            tf.setText("hh:mm:ss");
        } else if (type.equals(rb.getString("type7"))) {
            tf.setEditable(false);
            tf.setText("ccyy-mm-ddThh:mm:ss");
        } else if (type.equals(rb.getString("type6"))) {
            tf.setEditable(false);
            tf.setText("True || False");
        } else {
            tf.setEditable(true);
            tf.setText("");
        }
        return tf;
    }
    
    public JComboBox setUpColumnTwo(String conditionOn) {
        JComboBox comboBox = new OperatorComboBox(this.xmlED, conditionOn, varTypeLinks);
        
        return comboBox;
    }
    
    public void setRowHeight(int height) {
        for (int i = 0; i < table.getRowCount(); i++) {
            table.setRowHeight(i, height);
        }
        table.repaint();
        table.revalidate();
    }
    
    public void columnAdded(TableColumnModelEvent e) {
    }
    
    public void columnMarginChanged(ChangeEvent e) {
    }
    
    public void columnMoved(TableColumnModelEvent e) {
        model.removeColumnModelListener(this);
        table.moveColumn(e.getToIndex(), e.getFromIndex());
        model.addColumnModelListener(this);
    }
    
    public void columnRemoved(TableColumnModelEvent e) {
    }
    
    public void columnSelectionChanged(ListSelectionEvent e) {
    }
    
    public void actionPerformed(ActionEvent e) {
        if (e.getActionCommand().intern().equals("COMBO_ONE_SELECTED")) {
            ConditionOnComboBox cb = (ConditionOnComboBox)e.getSource();
            if (cb.getTypes()[cb.getSelectedIndex()].intern().equals(rb.getString("type2"))) {
                ((JTextField)column3Store.get(table.getEditingRow())).setEditable(false);
                ((JTextField)column3Store.get(table.getEditingRow())).setText("YYYY-MM-DD");
            } else if (cb.getTypes()[cb.getSelectedIndex()].intern().equals(rb.getString("type1"))) {
                ((JTextField)column3Store.get(table.getEditingRow())).setEditable(false);
                ((JTextField)column3Store.get(table.getEditingRow())).setText("hh:mm:ss");
            } else if (cb.getTypes()[cb.getSelectedIndex()].intern().equals(rb.getString("type7"))) {
                ((JTextField)column3Store.get(table.getEditingRow())).setEditable(false);
                ((JTextField)column3Store.get(table.getEditingRow())).setText("ccyy-mm-ddThh:mm:ss");
            } else if (cb.getTypes()[cb.getSelectedIndex()].intern().equals(rb.getString("type6"))) {
                ((JTextField)column3Store.get(table.getEditingRow())).setEditable(false);
                ((JTextField)column3Store.get(table.getEditingRow())).setText("True || False");
            } else if (cb.getTypes()[cb.getSelectedIndex()].intern().equals(rb.getString("type9"))) {
                ((JTextField)column3Store.get(table.getEditingRow())).setEditable(false);
                ((JTextField)column3Store.get(table.getEditingRow())).setText("ccyy-mm-ddThh:mm:ss");
            } else {
                ((JTextField)column3Store.get(table.getEditingRow())).setEditable(true);
                ((JTextField)column3Store.get(table.getEditingRow())).setText("");
            }
            
            String selCondOn = ((String)((ConditionOnComboBox)column1Store.get(table.getEditingRow())).types[((ConditionOnComboBox)column1Store.get(table.getEditingRow())).getSelectedIndex()]);
            JComboBox tmpCB = setUpColumnTwo(selCondOn);
            table.setValueAt(tmpCB, table.getEditingRow(), 1);
            column2Store.removeElementAt(table.getEditingRow());
            column2Store.add(table.getEditingRow(), tmpCB);
            table.repaint();
            table.revalidate();
        } else if (e.getActionCommand().intern().equals("DELETE_BUTTON_SELECTED")) {
            deleteRow(table.getEditingRow());
        }
    }
    
    public void mouseClicked(MouseEvent e) {
        ConditionOnComboBox cb = (ConditionOnComboBox)column1Store.get(table.getEditingRow());
        if (cb.getTypes()[cb.getSelectedIndex()].intern().equals(rb.getString("type1"))) {
            Point parentPoint = ((JTextField)e.getSource()).getLocation();
            Point p = new Point(200+parentPoint.x+5, 200+parentPoint.y+30);
            
            TimeDialog td = new TimeDialog(owner, selectTimeCaption, p);
            String toShow = td.tp.getTime();
            td.repaint();
            if (!toShow.intern().equals(""))
                ((JTextField)column3Store.get(table.getEditingRow())).setText(toShow);
        } else if (cb.getTypes()[cb.getSelectedIndex()].intern().equals(rb.getString("type2"))) {
            DateChooser DATE_CHOOSER = new DateChooser(this.owner, selectDateCaption);
            Date d = DATE_CHOOSER.select();
            if (d == null) {} else ((JTextField)column3Store.get(table.getEditingRow())).setText(new SimpleDateFormat("yyyy-MM-dd").format(d));
        } else if (cb.getTypes()[cb.getSelectedIndex()].intern().equals(rb.getString("type7"))) {
            TimeDateDialog tdd = new TimeDateDialog(this.owner, new SimpleDateFormat("yyyy.MM.dd").format(new Date()));
            String toShow = tdd.tdp.getDateTime();
            if (toShow == null) return;
            if (!toShow.intern().equals(""))
                ((JTextField)column3Store.get(table.getEditingRow())).setText(toShow);
        } else if (cb.getTypes()[cb.getSelectedIndex()].intern().equals(rb.getString("type6"))) {
            Point parentPoint = ((JTextField)e.getSource()).getLocation();
            Point p = new Point(200+parentPoint.x+5, 200+parentPoint.y+28);
            TrueFalseDialog tfd = new TrueFalseDialog(this.owner, "True || False", p);
            String toShow = tfd.tfp.getBoolean();
            if (toShow == null) return;
            if (!toShow.intern().equals(""))
                ((JTextField)column3Store.get(table.getEditingRow())).setText(toShow);
        } else if (cb.getTypes()[cb.getSelectedIndex()].intern().equals(rb.getString("type9"))) {
//            DateChooser DATE_CHOOSER = new DateChooser(this.owner, selectDateCaption);
//            Date d = DATE_CHOOSER.select();
//            if (d == null) {} else ((JTextField)column3Store.get(table.getEditingRow())).setText(new SimpleDateFormat("yyyy-MM-dd").format(d));
            
            DurationDialog dd = new DurationDialog(owner, selectDurationCaption);
            String toShow = dd.dp.getDuration();
            dd.repaint();
            if (!toShow.intern().equals(""))
                ((JTextField)column3Store.get(table.getEditingRow())).setText(toShow);
        }
        table.repaint();
        table.revalidate();
    }
    
    public void mouseEntered(MouseEvent e) {
    }
    
    public void mouseExited(MouseEvent e) {
    }
    
    public void mousePressed(MouseEvent e) {
    }
    
    public void mouseReleased(MouseEvent e) {
    }
}

⌨️ 快捷键说明

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