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

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

?? jtaskpane.java

?? 精美開源Swing組件
?? JAVA
字號:
/**
 * L2FProd.com Common Components 7.3 License.
 *
 * Copyright 2005-2007 L2FProd.com
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.l2fprod.common.swing;

import com.l2fprod.common.swing.plaf.JTaskPaneAddon;
import com.l2fprod.common.swing.plaf.LookAndFeelAddons;
import com.l2fprod.common.swing.plaf.TaskPaneUI;

import java.awt.Dimension;
import java.awt.Rectangle;

import javax.swing.JComponent;
import javax.swing.JViewport;
import javax.swing.Scrollable;

/**
 * <code>JTaskPane</code> provides an elegant view
 * to display a list of tasks ordered by groups ({@link JTaskPane}.
 * 
 * <p>
 * Although {@link JTaskPaneGroup} can be added to any other
 * container, the <code>JTaskPane</code> will provide better
 * fidelity when it comes to matching the look and feel of the host operating
 * system than any other panel. As example, when using on a Windows platform,
 * the <code>JTaskPane</code> will be painted with light gradient
 * background. Also <code>JTaskPane</code> takes care of using the
 * right {@link java.awt.LayoutManager} (as required by
 * {@link JCollapsiblePane}) so that
 * {@link JTaskPaneGroup} behaves correctly when collapsing and
 * expanding its content.
 *  
 * <p>
 * <code>JTaskPane<code> can be added to a JScrollPane.
 * 
 * <p>
 * Example:
 * <pre>
 * <code>
 * JFrame frame = new JFrame();
 * 
 * // a container to put all JTaskPaneGroup together
 * JTaskPane taskPaneContainer = new JTaskPane();
 * 
 * // add JTaskPaneGroups to the container
 * JTaskPaneGroup actionPane = createActionPane();
 * JTaskPaneGroup miscActionPane = createMiscActionPane();
 * JTaskPaneGroup detailsPane = createDetailsPane();
 * taskPaneContainer.add(actionPane);
 * taskPaneContainer.add(miscActionPane);
 * taskPaneContainer.add(detailsPane);
 *
 * // put the action list on the left in a JScrollPane
 * // as we have several taskPane and we want to make sure they
 * // all get visible.   
 * frame.add(new JScrollPane(taskPaneContainer), BorderLayout.EAST);
 * 
 * // and a file browser in the middle
 * frame.add(fileBrowser, BorderLayout.CENTER);
 * 
 * frame.pack().
 * frame.setVisible(true);
 * </code>
 * </pre>
 *
 * @author <a href="mailto:fred@L2FProd.com">Frederic Lavigne</a>
 * 
 * @javabean.attribute
 *          name="isContainer"
 *          value="Boolean.TRUE"
 *          rtexpr="true"
 * 
 * @javabean.class
 *          name="JTaskPane"
 *          shortDescription="A component that contains JTaskPaneGroups."
 *          stopClass="java.awt.Component"
 * 
 * @javabean.icons
 *          mono16="JTaskPane16-mono.gif"
 *          color16="JTaskPane16.gif"
 *          mono32="JTaskPane32-mono.gif"
 *          color32="JTaskPane32.gif"
 */
public class JTaskPane extends JComponent implements Scrollable {

  public final static String UI_CLASS_ID = "TaskPaneUI";
  
  // ensure at least the default ui is registered
  static {
    LookAndFeelAddons.contribute(new JTaskPaneAddon());
  }

  /**
   * Creates a new empty taskpane.
   */
  public JTaskPane() {
    updateUI();
  }

  /**
   * Notification from the <code>UIManager</code> that the L&F has changed.
   * Replaces the current UI object with the latest version from the <code>UIManager</code>.
   * 
   * @see javax.swing.JComponent#updateUI
   */
  public void updateUI() {
    setUI((TaskPaneUI)LookAndFeelAddons.getUI(this, TaskPaneUI.class));
  }

  /**
   * Sets the L&F object that renders this component.
   * 
   * @param ui the <code>TaskPaneUI</code> L&F object
   * @see javax.swing.UIDefaults#getUI
   * 
   * @beaninfo bound: true hidden: true description: The UI object that
   * implements the taskpane's LookAndFeel.
   */
  public void setUI(TaskPaneUI ui) {
    super.setUI(ui);
  }

  /**
   * Returns the name of the L&F class that renders this component.
   * 
   * @return the string {@link #UI_CLASS_ID}
   * @see javax.swing.JComponent#getUIClassID
   * @see javax.swing.UIDefaults#getUI
   */
  public String getUIClassID() {
    return UI_CLASS_ID;
  }

  /**
   * Adds a new <code>JTaskPaneGroup</code> to this JTaskPane.
   * 
   * @param group
   */
  public void add(JTaskPaneGroup group) {
    super.add(group);
  }

  /**
   * Removes a new <code>JTaskPaneGroup</code> from this JTaskPane.
   * 
   * @param group
   */
  public void remove(JTaskPaneGroup group) {
    super.remove(group);
  }

  /**
   * @see Scrollable#getPreferredScrollableViewportSize()
   */
  public Dimension getPreferredScrollableViewportSize() {
    return getPreferredSize();
  }

  /**
   * @see Scrollable#getScrollableBlockIncrement(java.awt.Rectangle, int, int)
   */
  public int getScrollableBlockIncrement(
    Rectangle visibleRect,
    int orientation,
    int direction) {
    return 10;
  }
  
  /**
   * @see Scrollable#getScrollableTracksViewportHeight()
   */
  public boolean getScrollableTracksViewportHeight() {
    if (getParent() instanceof JViewport) {
      return (((JViewport)getParent()).getHeight() > getPreferredSize().height);
    } else {
      return false;
    }
  }
  
  /**
   * @see Scrollable#getScrollableTracksViewportWidth()
   */
  public boolean getScrollableTracksViewportWidth() {
    return true;
  }
  
  /**
   * @see Scrollable#getScrollableUnitIncrement(java.awt.Rectangle, int, int)
   */
  public int getScrollableUnitIncrement(
    Rectangle visibleRect,
    int orientation,
    int direction) {
    return 10;
  }
  
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区自拍| eeuss鲁片一区二区三区在线看| 亚洲美女淫视频| 日韩一区有码在线| 亚洲男同性视频| 一级做a爱片久久| 婷婷综合久久一区二区三区| 亚洲国产aⅴ成人精品无吗| 亚洲无人区一区| 亚洲sss视频在线视频| 丝袜国产日韩另类美女| 日本特黄久久久高潮| 久久99精品久久久久久| 国产成人综合自拍| 91一区二区三区在线播放| 色综合激情久久| 欧美日本在线视频| 精品日韩一区二区三区| 国产日韩精品一区| 亚洲精品久久7777| 青娱乐精品视频| 国产一区二区三区四区五区入口| 国产91综合一区在线观看| 91日韩一区二区三区| 欧美高清激情brazzers| 精品国产乱码久久久久久1区2区| 国产三级欧美三级| 亚洲欧美日韩综合aⅴ视频| 亚洲国产精品自拍| 国内精品伊人久久久久av一坑| 国产suv一区二区三区88区| 91美女蜜桃在线| 欧美一卡2卡3卡4卡| 国产农村妇女精品| 亚洲一区在线电影| 国产一区激情在线| 欧美专区日韩专区| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 国产日韩欧美高清| 亚洲精品欧美在线| 久久国产精品第一页| 99久久免费精品| 欧美一区2区视频在线观看| 国产精品毛片久久久久久| 午夜日韩在线电影| 成人小视频在线| 3d成人动漫网站| 日本一区二区免费在线| 水蜜桃久久夜色精品一区的特点| 国产精品影音先锋| 欧美日韩视频在线观看一区二区三区 | 成人av中文字幕| 在线成人av网站| 中文字幕乱码一区二区免费| 日韩制服丝袜先锋影音| av中文一区二区三区| 欧美大片国产精品| 亚洲一区国产视频| 国产不卡免费视频| 日韩欧美一级二级| 一区二区久久久久久| 国产成人免费视频| 欧美一级夜夜爽| 亚洲综合免费观看高清完整版在线| 国产一区二区电影| 日韩午夜av电影| 亚洲图片有声小说| 91麻豆swag| 中文字幕乱码日本亚洲一区二区| 蜜桃视频一区二区| 欧美日韩黄色影视| 一区二区不卡在线播放| 成人黄色小视频| 久久影视一区二区| 奇米四色…亚洲| 欧美精三区欧美精三区| 亚洲六月丁香色婷婷综合久久| 韩国视频一区二区| 91精品国产综合久久久蜜臀图片| 亚洲久本草在线中文字幕| 成人国产精品免费观看动漫| ww亚洲ww在线观看国产| 老司机午夜精品| 911精品国产一区二区在线| 亚洲一区二区在线视频| 色综合网站在线| 18涩涩午夜精品.www| 成人一区在线观看| 亚洲va欧美va人人爽| 91在线视频播放| 国产精品久久久99| 国产suv一区二区三区88区| 久久久久亚洲综合| 国产成人精品一区二| 久久久综合激的五月天| 国产一区二区三区在线观看免费视频 | 《视频一区视频二区| 国产成人精品亚洲午夜麻豆| 久久午夜羞羞影院免费观看| 精品一区二区日韩| 久久人人爽爽爽人久久久| 黄网站免费久久| 久久夜色精品国产噜噜av| 国产一区二区在线视频| 久久九九久久九九| 国产99久久久久| 国产精品精品国产色婷婷| av午夜一区麻豆| 亚洲精品视频免费观看| 欧美自拍偷拍午夜视频| 性欧美大战久久久久久久久| 欧美久久久久久久久中文字幕| 午夜亚洲福利老司机| 8x福利精品第一导航| 美女网站一区二区| 2023国产精品| 成人高清av在线| 亚洲欧美日本韩国| 欧美丝袜丝交足nylons图片| 日韩国产在线观看| 久久嫩草精品久久久精品| 大陆成人av片| 亚洲一区二区在线观看视频| 欧美一卡二卡在线观看| 国产尤物一区二区| 中文字幕一区二区视频| 一本大道综合伊人精品热热| 午夜精品123| 久久午夜色播影院免费高清| 99精品在线观看视频| 午夜私人影院久久久久| 久久欧美中文字幕| 91免费在线视频观看| 午夜久久久影院| 久久免费国产精品| 99久久精品免费| 免费成人深夜小野草| 国产精品人妖ts系列视频| 欧美三片在线视频观看| 国内精品嫩模私拍在线| 亚洲免费av观看| 欧美电视剧免费全集观看| 91无套直看片红桃| 蜜桃免费网站一区二区三区| 欧美激情综合五月色丁香小说| 欧美性xxxxxxxx| 国产精品18久久久久久久网站| 亚洲最大的成人av| 久久综合一区二区| 在线观看一区二区精品视频| 精品一区二区三区免费播放| 亚洲人精品午夜| 26uuu亚洲综合色| 欧美三级三级三级爽爽爽| 国产精品亚洲一区二区三区在线| 亚洲黄色尤物视频| 久久久精品综合| 欧美日韩dvd在线观看| 成人99免费视频| 老司机精品视频线观看86 | av不卡免费在线观看| 日韩二区三区四区| 18欧美乱大交hd1984| 精品国产sm最大网站| 欧美性xxxxxxxx| 成人av在线一区二区三区| 麻豆91小视频| 亚洲伊人伊色伊影伊综合网| 久久久久久久久久久久电影 | 日韩一级精品视频在线观看| av午夜一区麻豆| 国产精品一区二区无线| 首页亚洲欧美制服丝腿| 亚洲精品日韩专区silk| 国产精品免费aⅴ片在线观看| 日韩视频在线观看一区二区| 在线观看一区日韩| 91在线视频播放地址| 国内精品视频666| 蜜桃av一区二区三区电影| 午夜久久久久久| 一区二区在线观看视频| 国产精品久久毛片av大全日韩| 欧美精品一区视频| 欧美电影免费观看高清完整版在线 | 成人短视频下载| 国产在线视视频有精品| 日本伊人色综合网| 亚洲午夜激情av| 亚洲天堂免费在线观看视频| 国产精品视频一二三区 | 激情欧美一区二区三区在线观看| 亚洲妇熟xx妇色黄| 亚洲一二三区视频在线观看| 亚洲色图在线播放| 亚洲欧洲色图综合| 中文字幕在线不卡一区二区三区| 中文字幕精品一区二区三区精品| 国产婷婷一区二区| 日本一区免费视频|