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

📄 jxtabledemopanel.java

📁 java实现浏览器等本地桌面的功能
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * $Id: JXTableDemoPanel.java,v 1.17 2005/06/29 09:54:50 kleopatra Exp $ * * Copyright 2004 Sun Microsystems, Inc., 4150 Network Circle, * Santa Clara, California 95054, U.S.A. All rights reserved. */package org.jdesktop.demo.swingx;import java.awt.Dimension;import java.awt.Point;import java.beans.IntrospectionException;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.HashMap;import java.util.Map;import javax.swing.BorderFactory;import javax.swing.JComboBox;import javax.swing.JComponent;import javax.swing.JLabel;import javax.swing.JScrollPane;import javax.swing.SwingUtilities;import javax.swing.table.DefaultTableCellRenderer;import javax.swing.table.TableCellRenderer;import org.jdesktop.binding.JavaBeanDataModel;import org.jdesktop.binding.metadata.EnumeratedMetaData;import org.jdesktop.binding.metadata.MetaData;import org.jdesktop.binding.swingx.BindingFactory;import org.jdesktop.binding.swingx.BindingHandler;import org.jdesktop.demo.DemoPanel;import org.jdesktop.demo.swingx.common.ComponentTableModel;import org.jdesktop.demo.swingx.common.ComponentTreeTableModel;import org.jdesktop.demo.swingx.common.XYComparator;import org.jdesktop.swingx.JXPanel;import org.jdesktop.swingx.JXRadioGroup;import org.jdesktop.swingx.JXTable;import org.jdesktop.swingx.JXTreeTable;import org.jdesktop.swingx.decorator.AlternateRowHighlighter;import org.jdesktop.swingx.decorator.Highlighter;import org.jdesktop.swingx.decorator.HighlighterPipeline;import com.jgoodies.forms.builder.PanelBuilder;import com.jgoodies.forms.factories.Borders;import com.jgoodies.forms.layout.CellConstraints;import com.jgoodies.forms.layout.FormLayout;/** * Demonstrates the JXTable/TreeTable components * * @author  Jeanette Winzenburg */public class JXTableDemoPanel extends DemoPanel {        // ----------------- demo components    private JXTable table;    private JXTreeTable treeTable;    // ---------------- demo models    private ComponentTreeTableModel treeTableModel;    private ComponentTableModel tableModel;            // ----------------- demo decorators    private Highlighter currentHighlighter;    private String currentHighlighterKey;    private String currentComparatorKey;    // ---------------- controlling components/models    private JComboBox highlighterCombo;    private Map highlighterMap;    private ArrayList highlighterKeys;    private JLabel highlighterLabel;    private JXRadioGroup sorterGroup;    private JLabel sorterGroupLabel;    private HashMap comparatorMap;    private ArrayList comparatorKeys;    /** Creates new form JXTableDemoPanel */    public JXTableDemoPanel() {        setName("JXTable Demo");        initDemoModels();        initDecorators();        initComponents();        configureComponents();        build();        bind();    }    private void bind() {        // setting tree/table models manually        treeTable.setTreeTableModel(treeTableModel);        table.setModel(tableModel);        // use binding for control panel interaction        BindingHandler bindings = new BindingHandler();        bindings.setAutoCommit(true);        bindHighlighterControl(bindings);        bindings.pull();    }    private void bindHighlighterControl(BindingHandler bindings) {                // Enumeration not working correctly with classes        // different from string (?)        JavaBeanDataModel dataModel = null;        try {            EnumeratedMetaData highlighterMeta = new EnumeratedMetaData("highlighterKey",                    String.class, "Highlighter");            highlighterMeta.setEnumeration(getHighlighterKeys());            EnumeratedMetaData comparatorMeta = new EnumeratedMetaData("comparatorKey",                    String.class, "Sorter");            comparatorMeta.setEnumeration(getComparatorKeys());            dataModel = new JavaBeanDataModel(getClass(), this,                    new MetaData[] { highlighterMeta, comparatorMeta });        } catch (IntrospectionException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        bindings.add(BindingFactory.getInstance().createBinding(                highlighterCombo, dataModel, "highlighterKey"));        bindings.add(BindingFactory.getInstance().createMetaBinding(                highlighterLabel, dataModel, "highlighterKey"));        bindings.add(BindingFactory.getInstance().createBinding(                sorterGroup, dataModel, "comparatorKey"));        bindings.add(BindingFactory.getInstance().createMetaBinding(                sorterGroupLabel, dataModel, "comparatorKey"));    }    // ------------------------ control find modus    /**     * PRE: getFindModi() contains value.     */    public void setHighlighterKey(String value) {//        if (value.equals(getFindModus()))//            return;        Object old = getHighlighterKey();        this.currentHighlighterKey = value;        updateHighlighter(old, value);        firePropertyChange("highlighterKey", old, getHighlighterKey());    }    /**     * returns the current find modus.     *      * @return     */    public String getHighlighterKey() {        return currentHighlighterKey;    }    /**     * returns array of available find modi.     *      * @return     */    public String[] getHighlighterKeys() {        // @todo: return copy!        return (String[] )highlighterKeys.toArray(new String[0]);    }    private void updateHighlighter(Object oldHighlighterKey, Object highlighterKey) {        Highlighter oldHighlighter = (Highlighter) highlighterMap.get(oldHighlighterKey);        if (oldHighlighter !=  null) {            table.getHighlighters().removeHighlighter(oldHighlighter);        }        Highlighter highlighter = (Highlighter) highlighterMap.get(highlighterKey);        if (highlighter != null) {            table.getHighlighters().addHighlighter(highlighter);        }      //  repaint();    }    public void setComparatorKey(String value) {        Object old = getComparatorKey();        this.currentComparatorKey = value;        updateComparator(value);        firePropertyChange("comparatorKey", old, getComparatorKey());            }        private void updateComparator(String value) {        Comparator comparator = (Comparator) comparatorMap.get(value);        // use a custom interactive sorter for the size column        table.getColumnExt("Size").getSorter().setComparator(comparator);         }    public String getComparatorKey() {        return currentComparatorKey;    }        public String[] getComparatorKeys() {        return (String[]) comparatorKeys.toArray(new String[0]);    }        private void initDecorators() {        highlighterMap = new HashMap();        highlighterMap.put("ledgerBackground", Highlighter.ledgerBackground);

⌨️ 快捷键说明

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