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

📄 mattebordermodel.java

📁 SWING的界面UI包 SWING的界面UI包
💻 JAVA
字号:

/*
 * MatteBorderModel.java
 *
 * Created on 2007-8-28, 0:01:25
 *
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package dyno.swing.designer.beans.adapters.borders;

import dyno.swing.designer.properties.PropertyCellEditor;
import dyno.swing.designer.properties.editors.accessibles.AccessiblePropertyCellEditor;
import dyno.swing.designer.properties.editors.ColorEditor;
import dyno.swing.designer.properties.editors.IconEditor;
import dyno.swing.designer.properties.editors.IntegerPropertyEditor;
import dyno.swing.designer.properties.renderer.ColorCellRenderer;
import dyno.swing.designer.properties.renderer.IconCellRenderer;
import java.awt.Color;
import javax.swing.Icon;
import javax.swing.border.Border;
import javax.swing.border.MatteBorder;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableCellRenderer;

/**
 *
 * @author William Chen
 */
public class MatteBorderModel extends AbstractBorderModel {

    private MatteBorder border;
    private DefaultTableCellRenderer intRenderer;
    private PropertyCellEditor intEditor;
    private ColorCellRenderer colorRenderer;
    private AccessiblePropertyCellEditor colorEditor;
    private AccessiblePropertyCellEditor iconEditor;
    private IconCellRenderer iconRenderer;

    public MatteBorderModel(MatteBorder border) {
        this.border = border;
        intRenderer = new DefaultTableCellRenderer();
        intEditor = new PropertyCellEditor(new IntegerPropertyEditor());
        colorRenderer = new ColorCellRenderer();
        colorEditor = new AccessiblePropertyCellEditor(new ColorEditor());
        iconEditor = new AccessiblePropertyCellEditor(new IconEditor());
        iconRenderer = new IconCellRenderer();
    }

    public Border getBorder() {
        return border;
    }

    public int getRowCount() {
        return 6;
    }

    public TableCellRenderer getRenderer(int row) {
        switch (row) {
            case 0:
                return intRenderer;
            case 1:
                return intRenderer;
            case 2:
                return intRenderer;
            case 3:
                return intRenderer;
            case 4:
                return colorRenderer;
            default:
                return iconRenderer;
        }
    }

    public TableCellEditor getEditor(int row) {
        switch (row) {
            case 0:
                return intEditor;
            case 1:
                return intEditor;
            case 2:
                return intEditor;
            case 3:
                return intEditor;
            case 4:
                return colorEditor;
            default:
                return iconEditor;
        }
    }

    public Object getValue(int row, int column) {
        if (column == 0) {
            switch (row) {
                case 0:
                    return "top";
                case 1:
                    return "left";
                case 2:
                    return "bottom";
                case 3:
                    return "right";
                case 4:
                    return "color";
                default:
                    return "titleIcon";
            }
        } else {
            switch (row) {
                case 0:
                    return border.getBorderInsets().top;
                case 1:
                    return border.getBorderInsets().left;
                case 2:
                    return border.getBorderInsets().bottom;
                case 3:
                    return border.getBorderInsets().right;
                case 4:
                    return border.getMatteColor();
                default:
                    return border.getTileIcon();
            }
        }
    }

    public boolean setValue(Object value, int row, int column) {
        if (column == 0) {
            return false;
        } else {
            int top = border.getBorderInsets().top;
            int left = border.getBorderInsets().left;
            int bottom = border.getBorderInsets().bottom;
            int right = border.getBorderInsets().right;
            Color matteColor = border.getMatteColor();
            Icon titleIcon = border.getTileIcon();
            switch (row) {
                case 0:
                    if (value != null) {
                        top = ((Number) value).intValue();
                    }
                    break;
                case 1:
                    if (value != null) {
                        left = ((Number) value).intValue();
                    }
                    break;
                case 2:
                    if (value != null) {
                        bottom = ((Number) value).intValue();
                    }
                    break;
                case 3:
                    if (value != null) {
                        right = ((Number) value).intValue();
                    }
                    break;
                case 4:
                        matteColor = (Color) value;
                    break;
                default:
                        titleIcon = (Icon) value;
                    break;
            }
            if (titleIcon == null) {
                border = new MatteBorder(top, left, bottom, right, matteColor);
            } else {
                border = new MatteBorder(titleIcon);
            }
            return true;
        }
    }
}

⌨️ 快捷键说明

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