schemapropertycellrenderer.java

来自「数据仓库展示程序」· Java 代码 · 共 92 行

JAVA
92
字号
/*
 * SchemaPropertyCellRenderer.java
 *
 * Created on October 3, 2002, 2:00 PM
 */

package mondrian.gui;

import mondrian.olap.MondrianDef;

import javax.swing.*;
import java.awt.*;

/**
 *
 * @author  sean
 */
public class SchemaPropertyCellRenderer extends javax.swing.table.DefaultTableCellRenderer {
    JLabel stringRenderer;
    JCheckBox booleanRenderer;
    JLabel integerRenderer;
    JTable tableRenderer;

    /** Creates a new instance of SchemaPropertyCellRenderer */
    public SchemaPropertyCellRenderer() {

        stringRenderer = new JLabel();
        stringRenderer.setFont(Font.decode("Dialog"));
        booleanRenderer = new JCheckBox();
        booleanRenderer.setBackground(Color.white);
        integerRenderer = new JLabel();
        integerRenderer.setHorizontalAlignment(JTextField.RIGHT);
        integerRenderer.setFont(Font.decode("Courier"));

        tableRenderer = new JTable();
    }

    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        if (column == 1) {
            if (value instanceof String) {
                stringRenderer.setText((String)value);
                return stringRenderer;
            } else if (value instanceof Boolean) {
                booleanRenderer.setSelected(((Boolean)value).booleanValue());
                return booleanRenderer;
            } else if (value instanceof Integer) {
                integerRenderer.setText((String)value);
                return integerRenderer;
            } else if (value == null) {
                return null;
            } else if (value.getClass() == MondrianDef.Join.class) {
                SchemaPropertyCellRenderer spcr = new SchemaPropertyCellRenderer();
                tableRenderer.setDefaultRenderer(Object.class, spcr);
                PropertyTableModel ptm = new PropertyTableModel(value,SchemaExplorer.DEF_JOIN);
                tableRenderer.setModel(ptm);
                return tableRenderer;
            } else if (value.getClass() == MondrianDef.OrdinalExpression.class) {
                SchemaPropertyCellRenderer spcr = new SchemaPropertyCellRenderer();
                tableRenderer.setDefaultRenderer(Object.class, spcr);
                PropertyTableModel ptm = new PropertyTableModel(value,SchemaExplorer.DEF_SQL);
                tableRenderer.setModel(ptm);
                return tableRenderer;

            } else if (value.getClass() == MondrianDef.Relation.class) {
                SchemaPropertyCellRenderer spcr = new SchemaPropertyCellRenderer();
                tableRenderer.setDefaultRenderer(Object.class, spcr);
                PropertyTableModel ptm = new PropertyTableModel(value,SchemaExplorer.DEF_RELATION);
                tableRenderer.setModel(ptm);
                return tableRenderer;
            } else if (value.getClass() == MondrianDef.Table.class) {
                SchemaPropertyCellRenderer spcr = new SchemaPropertyCellRenderer();
                tableRenderer.setDefaultRenderer(Object.class, spcr);
                PropertyTableModel ptm = new PropertyTableModel(value,SchemaExplorer.DEF_TABLE);
                tableRenderer.setModel(ptm);
                return tableRenderer;
            } else if (value.getClass() == MondrianDef.Property.class) {
                SchemaPropertyCellRenderer spcr = new SchemaPropertyCellRenderer();
                tableRenderer.setDefaultRenderer(Object.class, spcr);
                PropertyTableModel ptm = new PropertyTableModel(value,SchemaExplorer.DEF_PROPERTY);
                tableRenderer.setModel(ptm);
                return tableRenderer;
            } else {
                return null;
            }

        }

        return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);

    }
}

⌨️ 快捷键说明

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