xtable.java

来自「JavaExplorer是一个独立于平台的浏览器」· Java 代码 · 共 132 行

JAVA
132
字号
package javaexplorer.gui.dnd;import java.awt.Dimension;import java.awt.Font;import java.awt.event.MouseEvent;import java.awt.event.MouseMotionListener;import java.util.EventListener;import javaexplorer.Launcher;import javaexplorer.gui.renderer.XFileTableModel;import javaexplorer.model.XFile;import javaexplorer.util.laf.LookAndFeelChooser;import javax.swing.JTable;/**  * File and FTP Explorer  * Copyright 2003  * BOESCH Vincent  *  * This program is free software; you can redistribute it and/or  * modify it under the terms of the GNU General Public License  * as published by the Free Software Foundation; either version 2  * of the License, or (at your option) any later version.  *  * This program 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 General Public License for more details.  *  * You should have received a copy of the GNU General Public License  * along with this program; if not, write to the Free Software  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */public class XTable extends JTable {    private XFile _root = null;    private XFileTableModel _xtm = new XFileTableModel();    private Launcher _launcher = null;    public XTable() {        this(null);    }    public XTable(Launcher launcher) {        super();        _launcher = launcher;        setColumnSelectionAllowed(false);        setShowGrid(false);        setIntercellSpacing(new Dimension(0, 0));        setModel(_xtm);        setFont(LookAndFeelChooser.getLaFModel().getTreeListFont());        getTableHeader().setReorderingAllowed(false);        getTableHeader().addMouseListener(new java.awt.event.MouseAdapter() {                public void mouseClicked(MouseEvent e) {                    xtableHeader_mouseClicked(e);                }            });        //On enleve tous les listeners susceptibles de g閞er le d閜lacement de la souris        EventListener[] lst = this.getListeners(MouseMotionListener.class);        if (lst != null) {            for (int i = 0; i < lst.length; i++) {                this.removeMouseMotionListener((MouseMotionListener) lst[i]);            }        }    }    public void showWait(){        _xtm.showWait();    }    public void setRoot(XFile root) {        _root = root;        _xtm.setRoot(_root);    }    public XFile getRoot() {        return _root;    }    public void setFont(Font f) {        if (f == null) {            return;        }        super.setFont(f);        setRowHeight(f.getSize() + 4);    }    public void updateUI() {        super.updateUI();        setFont(getFont());    }    public XFile[] getSelectedValues() {        int[] val = getSelectedRows();        if (val == null) {            return null;        }        XFile[] efs = new XFile[val.length];        for (int i = 0; i < val.length; i++) {            efs[i] = (XFile) _xtm.getValueAt(val[i], 0);        }        return efs;    }    protected Launcher getLauncher() {        return _launcher;    }    /**     *  Description of the Method     *     *@param  e  Description of Parameter     */    void xtableHeader_mouseClicked(MouseEvent e) {        if (_launcher != null) {            _launcher.getMDIModel().closePopups();        }        if (e.getClickCount() == 2) {            //Si double click, on ordonne par rapport 

⌨️ 快捷键说明

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