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

📄 labelproperties.java

📁 java实现浏览器等本地桌面的功能
💻 JAVA
字号:
/* * $Id: LabelProperties.java,v 1.3 2005/10/10 18:01:58 rbair Exp $ * * Copyright 2004 Sun Microsystems, Inc., 4150 Network Circle, * Santa Clara, California 95054, U.S.A. All rights reserved. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. *  * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. *  * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */package org.jdesktop.swingx;import java.awt.Color;import java.awt.Font;import java.beans.PropertyChangeEvent;import java.beans.PropertyChangeListener;import javax.swing.AbstractButton;import javax.swing.Icon;import javax.swing.JLabel;import javax.swing.table.TableCellRenderer;/** * Class used to store label properties in a single object so that they * may be applied as a set on renderers. * @author Amy Fowler * @version 1.0 */public class LabelProperties extends JLabel {    private static final int BACKGROUND_SET = 1;    private static final int FOREGROUND_SET = 2;    private static final int FONT_SET = 4;    private static final int HORIZONTAL_ALIGNMENT_SET = 8;    private static final int HORIZONTAL_TEXT_POSITION_SET = 16;    private static final int ICON_SET = 32;    private static final int ICON_TEXT_GAP_SET = 64;    private static final int TEXT_SET = 128;    private static final int VERTICAL_ALIGNMENT_SET = 256;    private static final int VERTICAL_TEXT_POSITION_SET = 512;    private int setFlags = 0;    public LabelProperties() {        super();        addPropertyChangeListener(new PropertyChangeListener() {            public void propertyChange(PropertyChangeEvent e) {                String propertyName = e.getPropertyName();                Object value = e.getNewValue();                if (propertyName.equals("background")) {                    if (value != null) {                        setFlags |= BACKGROUND_SET;                    } else {                        setFlags &= (~BACKGROUND_SET);                    }                }                else if (propertyName.equals("font")) {                    if (value != null) {                        setFlags |= FONT_SET;                    } else {                        setFlags &= (~FONT_SET);                    }                }                else if (propertyName.equals("foreground")) {                    if (value != null) {                        setFlags |= FOREGROUND_SET;                    } else {                        setFlags &= (~FOREGROUND_SET);                    }                }                else if (propertyName.equals("horizontalAlignment")) {                    if (value != null && ((Integer)value).intValue() != -1) {                        setFlags |= HORIZONTAL_ALIGNMENT_SET;                    } else {                        setFlags &= (~HORIZONTAL_ALIGNMENT_SET);                    }                }                else if (propertyName.equals("horizontalTextPosition")) {                    if (value != null && ((Integer)value).intValue() != -1) {                        setFlags |= HORIZONTAL_TEXT_POSITION_SET;                    } else {                        setFlags &= (~HORIZONTAL_TEXT_POSITION_SET);                    }                }                else if (propertyName.equals("icon")) {                    if (value != null) {                        setFlags |= ICON_SET;                    } else {                        setFlags &= (~ICON_SET);                    }                }                else if (propertyName.equals("iconTextGap")) {                    if (value != null && ((Integer)value).intValue() != -1) {                        setFlags |= ICON_TEXT_GAP_SET;                    } else {                        setFlags &= (~ICON_TEXT_GAP_SET);                    }                }                else if (propertyName.equals("text")) {                    if (value != null) {                        setFlags |= TEXT_SET;                    } else {                        setFlags &= (~TEXT_SET);                    }                }                else if (propertyName.equals("verticalAlignment")) {                    if (value != null && ((Integer)value).intValue() != -1) {                        setFlags |= VERTICAL_ALIGNMENT_SET;                    } else {                        setFlags &= (~VERTICAL_ALIGNMENT_SET);                    }                }                else if (propertyName.equals("verticalTextPosition")) {                    if (value != null && ((Integer)value).intValue() != -1) {                        setFlags |= VERTICAL_TEXT_POSITION_SET;                    } else {                        setFlags &= (~VERTICAL_TEXT_POSITION_SET);                    }                }            }        });    }    public LabelProperties(Color background, Color foreground, Font font,                           int horizontalAlignment, int horizontalTextPosition,                           int verticalAlignment, int verticalTextPosition,                           Icon icon, int iconTextGap, String text) {        this();        setBackground(background);        setForeground(foreground);        setFont(font);        setHorizontalAlignment(horizontalAlignment);        setHorizontalTextPosition(horizontalTextPosition);        setVerticalAlignment(verticalAlignment);        setVerticalTextPosition(verticalTextPosition);        setIcon(icon);        setIconTextGap(iconTextGap);        setText(text);    }    public boolean isBackgroundSet() {        return (setFlags & BACKGROUND_SET) > 0;    }    public boolean isForegroundSet() {        return (setFlags & FOREGROUND_SET) > 0;    }    public boolean isFontSet() {        return (setFlags & FONT_SET) > 0;    }    public boolean isHorizontalAlignmentSet() {        return (setFlags & HORIZONTAL_ALIGNMENT_SET) > 0;    }    public boolean isHorizontalTextPositionSet() {        return (setFlags & HORIZONTAL_TEXT_POSITION_SET) > 0;    }    public boolean isIconSet() {        return (setFlags & ICON_SET) > 0;    }    public boolean isIconTextGapSet() {        return (setFlags & ICON_TEXT_GAP_SET) > 0;    }    public boolean isTextSet() {        return (setFlags & TEXT_SET) > 0;    }    public boolean isVerticalAlignmentSet() {        return (setFlags & VERTICAL_ALIGNMENT_SET) > 0;    }    public boolean isVerticalTextPositionSet() {        return (setFlags & VERTICAL_TEXT_POSITION_SET) > 0;    }    public boolean noPropertiesSet() {        return setFlags == 0;    }    public void applyPropertiesTo(JLabel label) {        if (noPropertiesSet()) {            return;        }        if (isBackgroundSet()) {            label.setBackground(getBackground());        }        if (isForegroundSet()) {            label.setForeground(getForeground());        }        if (isFontSet()) {            label.setFont(getFont());        }        if (isHorizontalAlignmentSet()) {            label.setHorizontalAlignment(getHorizontalAlignment());        }        if (isHorizontalTextPositionSet()) {            label.setHorizontalTextPosition(getHorizontalTextPosition());        }        if (isIconSet()) {            label.setIcon(getIcon());        }        if (isIconTextGapSet()) {            label.setIconTextGap(getIconTextGap());        }        if (isTextSet()) {            label.setText(getText());        }        if (isVerticalAlignmentSet()) {            label.setVerticalAlignment(getVerticalAlignment());        }        if (isVerticalTextPositionSet()) {            label.setVerticalTextPosition(getVerticalTextPosition());        }    }    public void applyPropertiesTo(AbstractButton button) {         if (noPropertiesSet()) {             return;         }         if (isBackgroundSet()) {             button.setBackground(getBackground());         }         if (isForegroundSet()) {             button.setForeground(getForeground());         }         if (isFontSet()) {             button.setFont(getFont());         }         if (isHorizontalAlignmentSet()) {             button.setHorizontalAlignment(getHorizontalAlignment());         }         if (isHorizontalTextPositionSet()) {             button.setHorizontalTextPosition(getHorizontalTextPosition());         }         if (isIconSet()) {             button.setIcon(getIcon());         }         if (isIconTextGapSet()) {             button.setIconTextGap(getIconTextGap());         }         if (isTextSet()) {             button.setText(getText());         }         if (isVerticalAlignmentSet()) {             button.setVerticalAlignment(getVerticalAlignment());         }         if (isVerticalTextPositionSet()) {             button.setVerticalTextPosition(getVerticalTextPosition());         }     }     public void applyPropertiesTo(LabelProperties props) {         if (noPropertiesSet()) {             return;         }         if (isBackgroundSet()) {             props.setBackground(getBackground());         }         if (isForegroundSet()) {             props.setForeground(getForeground());         }         if (isFontSet()) {             props.setFont(getFont());         }         if (isHorizontalAlignmentSet()) {             props.setHorizontalAlignment(getHorizontalAlignment());         }         if (isHorizontalTextPositionSet()) {             props.setHorizontalTextPosition(getHorizontalTextPosition());         }         if (isIconSet()) {             props.setIcon(getIcon());         }         if (isIconTextGapSet()) {             props.setIconTextGap(getIconTextGap());         }         if (isTextSet()) {             props.setText(getText());         }         if (isVerticalAlignmentSet()) {             props.setVerticalAlignment(getVerticalAlignment());         }         if (isVerticalTextPositionSet()) {             props.setVerticalTextPosition(getVerticalTextPosition());         }     }     public void applyPropertiesTo(TableCellRenderer renderer) {         if (renderer instanceof JLabel) {             applyPropertiesTo( (JLabel) renderer);         }         else if (renderer instanceof AbstractButton) {             applyPropertiesTo( (AbstractButton) renderer);         }     }}

⌨️ 快捷键说明

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