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

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

?? basictableheaderui.java

?? java1.6眾多例子參考
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
        mouseInputListener = createMouseInputListener();        header.addMouseListener(mouseInputListener);        header.addMouseMotionListener(mouseInputListener);        header.addFocusListener(focusListener);    }    /**     * Register all keyboard actions on the JTableHeader.     */    protected void installKeyboardActions() {        InputMap keyMap = (InputMap)DefaultLookup.get(header, this,                "TableHeader.ancestorInputMap");	SwingUtilities.replaceUIInputMap(header,                                                JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, keyMap);        LazyActionMap.installLazyActionMap(header, BasicTableHeaderUI.class,                "TableHeader.actionMap");    }// Uninstall methods    public void uninstallUI(JComponent c) {        uninstallDefaults();        uninstallListeners();        uninstallKeyboardActions();        header.remove(rendererPane);        rendererPane = null;        header = null;    }    protected void uninstallDefaults() {}    protected void uninstallListeners() {        header.removeMouseListener(mouseInputListener);        header.removeMouseMotionListener(mouseInputListener);        mouseInputListener = null;    }    /**     * Unregisters default key actions.     */    protected void uninstallKeyboardActions() {        SwingUtilities.replaceUIInputMap(header, JComponent.WHEN_FOCUSED, null);        SwingUtilities.replaceUIActionMap(header, null);    }    /**     * Populates TableHeader's actions.     */    static void loadActionMap(LazyActionMap map) {        map.put(new Actions(Actions.TOGGLE_SORT_ORDER));        map.put(new Actions(Actions.SELECT_COLUMN_TO_LEFT));        map.put(new Actions(Actions.SELECT_COLUMN_TO_RIGHT));        map.put(new Actions(Actions.MOVE_COLUMN_LEFT));        map.put(new Actions(Actions.MOVE_COLUMN_RIGHT));        map.put(new Actions(Actions.RESIZE_LEFT));        map.put(new Actions(Actions.RESIZE_RIGHT));        map.put(new Actions(Actions.FOCUS_TABLE));    }//// Support for mouse rollover//    /**     * Returns the index of the column header over which the mouse     * currently is. When the mouse is not over the table header,     * -1 is returned.     *     * @see #rolloverColumnUpdated(int, int)     * @return the index of the current rollover column     * @since 1.6     */    protected int getRolloverColumn() {        return rolloverColumn;    }    /**     * This method gets called every time the rollover column in the table     * header is updated. Every look and feel supporting rollover effect     * in table header should override this method and repaint the header.     *     * @param oldColumn the index of the previous rollover column or -1 if the     * mouse was not over a column     * @param newColumn the index of the new rollover column or -1 if the mouse     * is not over a column     * @see #getRolloverColumn()     * @see JTableHeader#getHeaderRect(int)     * @since 1.6     */    protected void rolloverColumnUpdated(int oldColumn, int newColumn) {    }    private void updateRolloverColumn(MouseEvent e) {        if (header.getDraggedColumn() == null &&            header.contains(e.getPoint())) {            int col = header.columnAtPoint(e.getPoint());            if (col != rolloverColumn) {                int oldRolloverColumn = rolloverColumn;                rolloverColumn = col;                rolloverColumnUpdated(oldRolloverColumn, rolloverColumn);            }        }    }//// Support for keyboard and mouse access//    private int selectNextColumn(boolean doIt) {        int newIndex = getSelectedColumnIndex();        if (newIndex < header.getColumnModel().getColumnCount() - 1) {            newIndex++;            if (doIt) {                selectColumn(newIndex);            }        }        return newIndex;    }        private int selectPreviousColumn(boolean doIt) {        int newIndex = getSelectedColumnIndex();        if (newIndex > 0) {            newIndex--;            if (doIt) {                selectColumn(newIndex);            }        }        return newIndex;    }        /**     * Selects the specified column in the table header. Repaints the     * affected header cells and makes sure the newly selected one is visible.     */    void selectColumn(int newColIndex) {        selectColumn(newColIndex, true);    }        void selectColumn(int newColIndex, boolean doScroll) {        Rectangle repaintRect = header.getHeaderRect(selectedColumnIndex);        header.repaint(repaintRect);        selectedColumnIndex = newColIndex;        repaintRect = header.getHeaderRect(newColIndex);        header.repaint(repaintRect);        if (doScroll) {            scrollToColumn(newColIndex);        }        return;    }    /**     * Used by selectColumn to scroll horizontally, if necessary,     * to ensure that the newly selected column is visible.     */    private void scrollToColumn(int col) {        Container container;        JTable table;                //Test whether the header is in a scroll pane and has a table.        if ((header.getParent() == null) ||            ((container = header.getParent().getParent()) == null) ||            !(container instanceof JScrollPane) ||            ((table = header.getTable()) == null)) {            return;        }        //Now scroll, if necessary.        Rectangle vis = table.getVisibleRect();        Rectangle cellBounds = table.getCellRect(0, col, true);        vis.x = cellBounds.x;        vis.width = cellBounds.width;        table.scrollRectToVisible(vis);    }        private int getSelectedColumnIndex() {        int numCols = header.getColumnModel().getColumnCount();        if (selectedColumnIndex >= numCols && numCols > 0) {            selectedColumnIndex = numCols - 1;        }        return selectedColumnIndex;    }        private static boolean canResize(TableColumn column,                                     JTableHeader header) {         return (column != null) && header.getResizingAllowed()                                && column.getResizable();     }        private int changeColumnWidth(TableColumn resizingColumn,                                  JTableHeader th,                                  int oldWidth, int newWidth) {        resizingColumn.setWidth(newWidth);                Container container;        JTable table;        if ((th.getParent() == null) ||            ((container = th.getParent().getParent()) == null) ||            !(container instanceof JScrollPane) ||            ((table = th.getTable()) == null)) {            return 0;        }        if (!container.getComponentOrientation().isLeftToRight() &&                !th.getComponentOrientation().isLeftToRight()) {                JViewport viewport = ((JScrollPane)container).getViewport();                int viewportWidth = viewport.getWidth();                int diff = newWidth - oldWidth;                int newHeaderWidth = table.getWidth() + diff;                /* Resize a table */                Dimension tableSize = table.getSize();                tableSize.width += diff;                table.setSize(tableSize);                /* If this table is in AUTO_RESIZE_OFF mode and                 * has a horizontal scrollbar, we need to update                 * a view's position.                 */                if ((newHeaderWidth >= viewportWidth) &&                    (table.getAutoResizeMode() == JTable.AUTO_RESIZE_OFF)) {                    Point p = viewport.getViewPosition();                    p.x = Math.max(0, Math.min(newHeaderWidth - viewportWidth,                                               p.x + diff));                    viewport.setViewPosition(p);                    return diff;            }        }        return 0;    }//// Baseline//    /**     * Returns the baseline.     *     * @throws NullPointerException {@inheritDoc}     * @throws IllegalArgumentException {@inheritDoc}     * @see javax.swing.JComponent#getBaseline(int, int)     * @since 1.6     */    public int getBaseline(JComponent c, int width, int height) {        super.getBaseline(c, width, height);        int baseline = -1;        TableColumnModel columnModel = header.getColumnModel();        for(int column = 0; column < columnModel.getColumnCount();            column++) {             TableColumn aColumn = columnModel.getColumn(column);             Component comp = getHeaderRenderer(column);             Dimension pref = comp.getPreferredSize();            int columnBaseline = comp.getBaseline(pref.width, height);            if (columnBaseline >= 0) {                if (baseline == -1) {                    baseline = columnBaseline;                }                else if (baseline != columnBaseline) {                    baseline = -1;                    break;                }            }        }        return baseline;    }//// Paint Methods and support//    public void paint(Graphics g, JComponent c) {	if (header.getColumnModel().getColumnCount() <= 0) { 	    return; 	}        boolean ltr = header.getComponentOrientation().isLeftToRight();	Rectangle clip = g.getClipBounds();         Point left = clip.getLocation();        Point right = new Point( clip.x + clip.width - 1, clip.y );	TableColumnModel cm = header.getColumnModel();         int cMin = header.columnAtPoint( ltr ? left : right );        int cMax = header.columnAtPoint( ltr ? right : left );        // This should never happen.         if (cMin == -1) {	    cMin =  0;        }        // If the table does not have enough columns to fill the view we'll get -1.        // Replace this with the index of the last column.        if (cMax == -1) {	    cMax = cm.getColumnCount()-1;          }	TableColumn draggedColumn = header.getDraggedColumn(); 	int columnWidth;        Rectangle cellRect = header.getHeaderRect(ltr ? cMin : cMax); 	TableColumn aColumn;	if (ltr) {	    for(int column = cMin; column <= cMax ; column++) { 		aColumn = cm.getColumn(column); 		columnWidth = aColumn.getWidth();		cellRect.width = columnWidth;		if (aColumn != draggedColumn) {		    paintCell(g, cellRect, column);		} 		cellRect.x += columnWidth;	    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品国产精品国产专区不蜜 | 国产原创一区二区| 亚洲人被黑人高潮完整版| 久久久另类综合| 欧美videofree性高清杂交| 91精选在线观看| 欧美日韩国产美| 欧美乱妇23p| 欧美一级在线观看| ww久久中文字幕| 国产亚洲人成网站| 国产精品少妇自拍| 亚洲视频中文字幕| 午夜精品一区二区三区电影天堂| 亚洲人成在线观看一区二区| 亚洲人成7777| 日韩激情视频网站| 国内国产精品久久| av不卡在线观看| 欧美欧美欧美欧美| 久久久精品人体av艺术| 国产精品家庭影院| 亚洲大型综合色站| 精品一区二区三区视频在线观看| 天天爽夜夜爽夜夜爽精品视频| 亚洲区小说区图片区qvod| 婷婷久久综合九色综合伊人色| 午夜精品久久久久影视| 黑人巨大精品欧美黑白配亚洲| 免费日韩伦理电影| 不卡欧美aaaaa| 欧美日韩国产bt| 久久亚洲影视婷婷| 亚洲另类一区二区| 国内精品伊人久久久久av影院| 国产在线视频一区二区三区| 91美女视频网站| 欧美一二三区精品| 亚洲天堂中文字幕| 美腿丝袜亚洲一区| 欧美这里有精品| 久久美女高清视频| 丝袜诱惑制服诱惑色一区在线观看| 蜜臀久久99精品久久久画质超高清 | 国产亚洲欧洲一区高清在线观看| 在线91免费看| 国产精品免费网站在线观看| 日韩精品免费专区| 91黄色在线观看| 久久久久久**毛片大全| 亚洲h在线观看| 不卡av免费在线观看| 久久婷婷国产综合精品青草| 亚洲在线视频免费观看| 粉嫩高潮美女一区二区三区| 欧美高清dvd| 亚洲欧美日韩人成在线播放| 国产一区二区精品久久99| 欧美乱妇15p| 亚洲自拍偷拍网站| 97超碰欧美中文字幕| 国产视频一区在线观看| 麻豆精品国产91久久久久久| 欧美日韩精品综合在线| 亚洲欧美日韩久久| 成人午夜精品在线| 欧美成人bangbros| 日本不卡一区二区三区高清视频| 99久久免费精品| 国产欧美一二三区| 国产一区二区美女诱惑| 精品久久一二三区| 青娱乐精品视频在线| 欧美剧在线免费观看网站 | 97久久久精品综合88久久| 国产色产综合色产在线视频| 久久av老司机精品网站导航| 日韩三级电影网址| 久久疯狂做爰流白浆xx| 精品精品国产高清一毛片一天堂| 亚洲午夜久久久久中文字幕久| 国产成人一区在线| 欧美激情一区二区三区四区| 国产成人精品三级麻豆| 国产精品每日更新在线播放网址| 精品一区二区三区久久| 欧美精品一区二区三区在线| 紧缚捆绑精品一区二区| 国产日韩高清在线| thepron国产精品| 亚洲欧美日韩国产综合在线| 色天天综合久久久久综合片| 亚洲综合图片区| 欧美一区二区三区在| 美女一区二区视频| 国产欧美一区二区三区沐欲 | 欧美电视剧在线看免费| 激情深爱一区二区| 中文字幕视频一区| 欧美色图激情小说| 久久99日本精品| 国产精品免费网站在线观看| 欧美性一区二区| 久久97超碰国产精品超碰| 中文字幕日韩欧美一区二区三区| eeuss鲁片一区二区三区| 亚洲国产精品久久久男人的天堂| 欧美电影一区二区三区| 国产不卡一区视频| 性做久久久久久| 国产亚洲精久久久久久| 91成人在线精品| 国产一区二区在线视频| 亚洲精品美国一| 26uuu成人网一区二区三区| 99免费精品在线观看| 男女视频一区二区| 亚洲蜜臀av乱码久久精品| 精品免费99久久| 欧美色网一区二区| 高清不卡一二三区| 美国毛片一区二区| 亚洲精品菠萝久久久久久久| 久久婷婷久久一区二区三区| 欧美日韩精品一区二区在线播放| 国内偷窥港台综合视频在线播放| 亚洲六月丁香色婷婷综合久久| 欧美一卡二卡在线观看| 色综合视频在线观看| 国产成人亚洲综合a∨婷婷图片| 一区二区激情视频| 国产精品久久看| 久久亚洲影视婷婷| 欧美r级在线观看| 欧美人与性动xxxx| 在线看国产一区| 91在线一区二区三区| 成人一区二区视频| 国产美女精品人人做人人爽| 亚洲综合一二三区| 一区二区三区影院| 夜夜嗨av一区二区三区网页| 国产精品视频在线看| 久久久久国产成人精品亚洲午夜| 欧美色网站导航| 亚洲激情五月婷婷| 91麻豆精品国产91久久久 | 国产精品乱码一区二区三区软件 | 日韩精品在线一区| 91精品黄色片免费大全| 欧美老肥妇做.爰bbww视频| 欧美视频自拍偷拍| 欧美偷拍一区二区| 99久久精品国产观看| 成人不卡免费av| 91在线码无精品| aaa欧美大片| 欧美午夜精品久久久| 91无套直看片红桃| 91亚洲男人天堂| 色呦呦日韩精品| 欧美日韩精品福利| 欧美狂野另类xxxxoooo| ww久久中文字幕| 中文字幕 久热精品 视频在线| 欧美激情一区在线观看| 亚洲免费在线视频| 亚洲综合一区二区| 老色鬼精品视频在线观看播放| 老司机免费视频一区二区| 国产91精品一区二区麻豆亚洲| 国产精品一区二区男女羞羞无遮挡| 国产凹凸在线观看一区二区| 北岛玲一区二区三区四区| 色成人在线视频| 欧美一区二区二区| 久久久久久9999| 亚洲精品乱码久久久久久黑人| 亚洲视频电影在线| 舔着乳尖日韩一区| 国产成人在线视频免费播放| 91高清视频在线| 久久免费的精品国产v∧| 亚洲乱码一区二区三区在线观看| 亚洲国产aⅴ成人精品无吗| 精品一区二区三区久久久| 99久久婷婷国产综合精品| 在线观看91精品国产麻豆| 国产欧美精品一区二区三区四区| 亚洲精品乱码久久久久久| 精品亚洲成av人在线观看| 97久久精品人人澡人人爽| 日韩欧美123| 亚洲国产另类精品专区| 国产电影一区在线| 欧美三级日韩在线| 国产人妖乱国产精品人妖| 亚洲电影一级黄| 成人app网站| 欧美tickle裸体挠脚心vk|