亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? basictableheaderui.java

?? java1.6眾多例子參考
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
/* * @(#)BasicTableHeaderUI.java	1.78 07/07/16 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package javax.swing.plaf.basic;import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.*;import javax.swing.event.*;import javax.swing.plaf.*;import javax.swing.table.*;import sun.swing.*;/** * BasicTableHeaderUI implementation * * @version 1.78 07/16/07 * @author Alan Chung * @author Philip Milne */public class BasicTableHeaderUI extends TableHeaderUI {    private static Cursor resizeCursor = Cursor.getPredefinedCursor(Cursor.E_RESIZE_CURSOR); //// Instance Variables//    /** The JTableHeader that is delegating the painting to this UI. */    protected JTableHeader header;    protected CellRendererPane rendererPane;    // Listeners that are attached to the JTable    protected MouseInputListener mouseInputListener;    // The column header over which the mouse currently is.    private int rolloverColumn = -1;        // The column that should be highlighted when the table header has the focus.    private int selectedColumnIndex = 0; // Read ONLY via getSelectedColumnIndex!    private static FocusListener focusListener = new FocusListener() {        public void focusGained(FocusEvent e) {            repaintHeader(e.getSource());        }                public void focusLost(FocusEvent e) {            repaintHeader(e.getSource());        }                private void repaintHeader(Object source) {            if (source instanceof JTableHeader) {                JTableHeader th = (JTableHeader)source;                BasicTableHeaderUI ui =                    (BasicTableHeaderUI)BasicLookAndFeel.                                        getUIOfType(th.getUI(),                                            BasicTableHeaderUI.class);                if (ui == null) {                    return;                }                th.repaint(th.getHeaderRect(ui.getSelectedColumnIndex()));            }        }    };        /**     * This inner class is marked &quot;public&quot; due to a compiler bug.     * This class should be treated as a &quot;protected&quot; inner class.     * Instantiate it only within subclasses of BasicTableUI.     */    public class MouseInputHandler implements MouseInputListener {        private int mouseXOffset; 	private Cursor otherCursor = resizeCursor;         public void mouseClicked(MouseEvent e) {            if (e.getClickCount() % 2 == 1 &&                    SwingUtilities.isLeftMouseButton(e)){                JTable table = header.getTable();                RowSorter sorter = table.getRowSorter();                if (sorter != null) {                    int columnIndex = header.columnAtPoint(e.getPoint());                    if (columnIndex != -1) {                        columnIndex = table.convertColumnIndexToModel(                                            columnIndex);                        sorter.toggleSortOrder(columnIndex);                    }                }            }        }        private TableColumn getResizingColumn(Point p) { 	    return getResizingColumn(p, header.columnAtPoint(p)); 	}        private TableColumn getResizingColumn(Point p, int column) {             if (column == -1) {                  return null;             }	    Rectangle r = header.getHeaderRect(column); 	    r.grow(-3, 0); 	    if (r.contains(p)) { 		return null; 	    }	    int midPoint = r.x + r.width/2; 	    int columnIndex;            if( header.getComponentOrientation().isLeftToRight() ) {                columnIndex = (p.x < midPoint) ? column - 1 : column;             } else {                columnIndex = (p.x < midPoint) ? column : column - 1;             }	    if (columnIndex == -1) { 		return null; 	    }	    return header.getColumnModel().getColumn(columnIndex);         }        public void mousePressed(MouseEvent e) {            header.setDraggedColumn(null);            header.setResizingColumn(null);            header.setDraggedDistance(0);            Point p = e.getPoint();            // First find which header cell was hit            TableColumnModel columnModel = header.getColumnModel();            int index = header.columnAtPoint(p);            if (index != -1) {                // The last 3 pixels + 3 pixels of next column are for resizing                TableColumn resizingColumn = getResizingColumn(p, index);                 if (canResize(resizingColumn, header)) {                    header.setResizingColumn(resizingColumn);                     if( header.getComponentOrientation().isLeftToRight() ) {                        mouseXOffset = p.x - resizingColumn.getWidth();                     } else {                        mouseXOffset = p.x + resizingColumn.getWidth();                     }                }                else if (header.getReorderingAllowed()) {                    TableColumn hitColumn = columnModel.getColumn(index);                    header.setDraggedColumn(hitColumn);		    mouseXOffset = p.x;                 }            }            if (header.getReorderingAllowed()) {                int oldRolloverColumn = rolloverColumn;                rolloverColumn = -1;                rolloverColumnUpdated(oldRolloverColumn, rolloverColumn);            }        }	private void swapCursor() { 	    Cursor tmp = header.getCursor(); 	    header.setCursor(otherCursor); 	    otherCursor = tmp; 	}        public void mouseMoved(MouseEvent e) {             if (canResize(getResizingColumn(e.getPoint()), header) != 		(header.getCursor() == resizeCursor)) {                swapCursor();            }            updateRolloverColumn(e);       }        public void mouseDragged(MouseEvent e) {            int mouseX = e.getX();            TableColumn resizingColumn  = header.getResizingColumn();            TableColumn draggedColumn  = header.getDraggedColumn();            boolean headerLeftToRight = header.getComponentOrientation().isLeftToRight();            if (resizingColumn != null) {		int oldWidth = resizingColumn.getWidth();		int newWidth;		if (headerLeftToRight) {                    newWidth = mouseX - mouseXOffset;                } else  {                    newWidth = mouseXOffset - mouseX;		}                mouseXOffset += changeColumnWidth(resizingColumn, header,                                                  oldWidth, newWidth);            }            else if (draggedColumn != null) {		TableColumnModel cm = header.getColumnModel();		int draggedDistance = mouseX - mouseXOffset;		int direction = (draggedDistance < 0) ? -1 : 1;		int columnIndex = viewIndexForColumn(draggedColumn);		int newColumnIndex = columnIndex + (headerLeftToRight ? direction : -direction); 		if (0 <= newColumnIndex && newColumnIndex < cm.getColumnCount()) {		    int width = cm.getColumn(newColumnIndex).getWidth();		    if (Math.abs(draggedDistance) > (width / 2)) {                        JTable table = header.getTable();			mouseXOffset = mouseXOffset + direction * width; 			header.setDraggedDistance(draggedDistance - direction * width);	                                                //Cache the selected column.                        int selectedIndex = table.convertColumnIndexToModel(                                                        getSelectedColumnIndex());                                                //Now do the move.                        cm.moveColumn(columnIndex, newColumnIndex);                                                //Update the selected index.                        selectColumn(                            table.convertColumnIndexToView(selectedIndex),                             false);                        return;		    }		}		setDraggedDistance(draggedDistance, columnIndex); 	    }            updateRolloverColumn(e);        }        public void mouseReleased(MouseEvent e) { 	    setDraggedDistance(0, viewIndexForColumn(header.getDraggedColumn()));             header.setResizingColumn(null);            header.setDraggedColumn(null);            updateRolloverColumn(e);        }        public void mouseEntered(MouseEvent e) {            updateRolloverColumn(e);        }        public void mouseExited(MouseEvent e) {            int oldRolloverColumn = rolloverColumn;            rolloverColumn = -1;            rolloverColumnUpdated(oldRolloverColumn, rolloverColumn);        }//// Protected & Private Methods//	private void setDraggedDistance(int draggedDistance, int column) {             header.setDraggedDistance(draggedDistance);		    if (column != -1) { 		header.getColumnModel().moveColumn(column, column); 	    }	}    }////  Factory methods for the Listeners//    /**     * Creates the mouse listener for the JTableHeader.     */    protected MouseInputListener createMouseInputListener() {        return new MouseInputHandler();    }    ////  The installation/uninstall procedures and support//    public static ComponentUI createUI(JComponent h) {        return new BasicTableHeaderUI();    }//  Installation    public void installUI(JComponent c) {        header = (JTableHeader)c;        rendererPane = new CellRendererPane();        header.add(rendererPane);        installDefaults();        installListeners();        installKeyboardActions();    }    /**     * Initialize JTableHeader properties, e.g. font, foreground, and background.     * The font, foreground, and background properties are only set if their     * current value is either null or a UIResource, other properties are set     * if the current value is null.     *     * @see #installUI     */    protected void installDefaults() {        LookAndFeel.installColorsAndFont(header, "TableHeader.background",                                         "TableHeader.foreground", "TableHeader.font");        LookAndFeel.installProperty(header, "opaque", Boolean.TRUE);    }    /**     * Attaches listeners to the JTableHeader.     */    protected void installListeners() {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本久久综合亚洲鲁鲁五月天| 99re6这里只有精品视频在线观看| 国产精品久久久久久久久免费丝袜| 色综合天天综合在线视频| 日本不卡不码高清免费观看| 1区2区3区欧美| 欧美www视频| 欧美专区在线观看一区| 国产福利一区二区三区视频在线 | 国产精品免费人成网站| 欧美日本高清视频在线观看| 成人久久视频在线观看| 日韩成人精品在线观看| 亚洲精品视频在线| 国产清纯在线一区二区www| 日韩欧美一二三四区| 色老头久久综合| 另类小说图片综合网| 亚洲一级片在线观看| 日韩毛片精品高清免费| 国产偷v国产偷v亚洲高清| 欧美一级片在线| 欧美性大战久久久久久久| 色综合天天性综合| 国产91高潮流白浆在线麻豆| 免费成人在线观看| 图片区小说区区亚洲影院| 亚洲少妇最新在线视频| 国产精品三级av在线播放| 2021中文字幕一区亚洲| 欧美一区二区三区视频在线观看| 色94色欧美sute亚洲线路一久| 99精品国产一区二区三区不卡| 国产高清亚洲一区| 国产精品综合在线视频| 精品亚洲国产成人av制服丝袜| 蜜臀av一区二区在线免费观看 | 99re亚洲国产精品| 成人激情开心网| 国产高清在线精品| 国产二区国产一区在线观看| 国产在线不卡视频| 久久超碰97中文字幕| 日本不卡一二三区黄网| 另类小说综合欧美亚洲| 国产真实乱子伦精品视频| 精品在线一区二区| 国产真实乱偷精品视频免| 国产一区日韩二区欧美三区| 国产一区二区三区高清播放| 国产伦精品一区二区三区免费| 九色综合狠狠综合久久| 精品午夜久久福利影院| 国产精品正在播放| 国产精品18久久久久久久久久久久| 韩国理伦片一区二区三区在线播放 | 日韩欧美高清一区| 精品av久久707| 国产日韩视频一区二区三区| 国产精品私人影院| 亚洲欧美国产77777| 亚洲国产精品欧美一二99| 天天影视网天天综合色在线播放| 日本亚洲免费观看| 国产一区二区免费视频| 成人激情视频网站| 91黄色激情网站| 欧美一区二区三区在线| 久久免费偷拍视频| 国产精品成人网| 亚洲一区二区精品视频| 裸体一区二区三区| 高清视频一区二区| 欧美在线不卡视频| 日韩天堂在线观看| 国产精品污www在线观看| 一区二区三区免费网站| 免费av成人在线| 东方aⅴ免费观看久久av| 91久久精品一区二区二区| 6080午夜不卡| 国产欧美日韩另类一区| 亚洲综合网站在线观看| 老司机午夜精品| 91在线观看免费视频| 日韩一级精品视频在线观看| 国产精品美女久久久久久久| 亚洲成人免费在线| 国产白丝精品91爽爽久久| 欧美视频一二三区| 国产婷婷色一区二区三区四区 | 亚洲欧洲中文日韩久久av乱码| 午夜视黄欧洲亚洲| 国产激情一区二区三区| 欧美日韩视频在线一区二区| 国产女主播视频一区二区| 午夜视频久久久久久| 成人短视频下载| 欧美成人一区二区三区片免费| 1区2区3区国产精品| 久久99国产精品麻豆| 欧美午夜电影在线播放| 久久精品夜夜夜夜久久| 日韩av电影天堂| 一本一道波多野结衣一区二区| 26uuu亚洲综合色欧美| 午夜精品久久久久久不卡8050| jvid福利写真一区二区三区| 欧美变态口味重另类| 日韩制服丝袜先锋影音| 色综合中文字幕国产 | 高清不卡在线观看| 337p亚洲精品色噜噜噜| 亚洲精品久久7777| 粉嫩av一区二区三区| 欧美成人a∨高清免费观看| 亚洲在线一区二区三区| 成人一区在线看| 精品国产成人系列| 日韩不卡免费视频| 欧美日韩国产精选| 亚洲黄色免费网站| 99国产一区二区三精品乱码| 欧美激情中文字幕| 国产电影一区在线| 国产视频一区不卡| 久久se这里有精品| 日韩欧美一区二区视频| 日本麻豆一区二区三区视频| 欧美精品在线观看一区二区| 亚洲妇熟xx妇色黄| 欧美视频自拍偷拍| 亚洲国产精品久久人人爱| 91片在线免费观看| 成人免费在线播放视频| 99精品热视频| 亚洲精品水蜜桃| 欧美性受极品xxxx喷水| 亚洲亚洲精品在线观看| 在线观看视频一区二区| 一区二区三区久久久| 一本色道**综合亚洲精品蜜桃冫| 伊人开心综合网| 色婷婷av一区二区三区软件 | 日韩高清在线一区| 欧美精品黑人性xxxx| 日韩精品乱码av一区二区| 日韩一区二区高清| 国产综合色精品一区二区三区| 久久综合久久综合久久| 国产精品 日产精品 欧美精品| 久久精品一区二区三区不卡| 国产91丝袜在线播放九色| 国产精品成人免费| 欧美亚洲国产一区二区三区| 午夜日韩在线电影| 精品成人免费观看| 丁香激情综合国产| 一区二区三区在线播| 欧美区在线观看| 看国产成人h片视频| 亚洲国产精品av| 99re成人精品视频| 视频一区国产视频| 久久综合狠狠综合| av中文字幕一区| 午夜国产精品一区| 久久久久久免费网| 色综合久久六月婷婷中文字幕| 午夜精品久久久久久久| 久久青草国产手机看片福利盒子 | 国产99久久精品| 亚洲激情图片小说视频| 欧美一区二区在线看| 国产高清视频一区| 亚洲第一综合色| 久久精品一级爱片| 欧美午夜精品久久久久久超碰 | 日韩国产欧美一区二区三区| 久久综合资源网| 在线观看国产日韩| 国产呦精品一区二区三区网站| 国产精品久久影院| 在线成人午夜影院| 丁香啪啪综合成人亚洲小说 | 国产欧美一区二区三区在线老狼| 91免费观看国产| 久久精品国产亚洲5555| 亚洲精品美国一| 精品久久久久久久人人人人传媒 | 欧洲精品中文字幕| 国产在线视视频有精品| 亚洲免费av观看| 精品噜噜噜噜久久久久久久久试看| 色综合久久久久综合| 国产在线不卡一区| 日韩av中文字幕一区二区| 1000部国产精品成人观看| 日韩精品一区二区三区三区免费| 色综合色狠狠综合色|