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

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

?? celleditoradapter.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.propertysheet;

import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.beans.PropertyEditor;
import java.util.EventObject;

import javax.swing.AbstractCellEditor;
import javax.swing.JComponent;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.JTree;
import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;
import javax.swing.table.TableCellEditor;
import javax.swing.tree.TreeCellEditor;

/**
 * Allows to use any PropertyEditor as a Table or Tree cell editor. <br>
 */
public class CellEditorAdapter
  extends AbstractCellEditor
  implements TableCellEditor, TreeCellEditor {

  protected PropertyEditor editor;
  protected int clickCountToStart = 1;

  class CommitEditing implements ActionListener {
    public void actionPerformed(ActionEvent e) {
      stopCellEditing();
    }
  }

  class CancelEditing implements ActionListener {
    public void actionPerformed(ActionEvent e) {
      CellEditorAdapter.this.cancelCellEditing();
    }
  }

  /**
   * Select all text when focus gained, deselect when focus lost.
   */
  class SelectOnFocus implements FocusListener {
    public void focusGained(final FocusEvent e) {
      if (! (e.getSource() instanceof JTextField))
        return;
      SwingUtilities.invokeLater(new Runnable() {
        public void run() {
          ((JTextField) e.getSource()).selectAll();
        }
      });
    }
    public void focusLost(final FocusEvent e) {
      if (! (e.getSource() instanceof JTextField))
        return;
      SwingUtilities.invokeLater(new Runnable() {
        public void run() {
          ((JTextField) e.getSource()).select(0, 0);
        }
      });
    }
  }
  
  public CellEditorAdapter(PropertyEditor editor) {
    this.editor = editor;
    Component component = editor.getCustomEditor();
    if (component instanceof JTextField) {
      JTextField field = (JTextField)component;
      field.addFocusListener(new SelectOnFocus());
      field.addActionListener(new CommitEditing());
      field.registerKeyboardAction(
        new CancelEditing(),
        KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
        JComponent.WHEN_FOCUSED);
    }

    // when the editor notifies a change, commit the changes
    editor.addPropertyChangeListener(new PropertyChangeListener() {
      public void propertyChange(PropertyChangeEvent evt) {       
        stopCellEditing();
      }
    });
  }
  
  public Component getTreeCellEditorComponent(
    JTree tree,
    Object value,
    boolean selected,
    boolean expanded,
    boolean leaf,
    int row) {
    return getEditor(value);
  }

  public Component getTableCellEditorComponent(
    JTable table,
    Object value,
    boolean selected,
    int row,
    int column) {
    return getEditor(value);
  }

  public void setClickCountToStart(int count) {
    clickCountToStart = count;
  }

  public int getClickCountToStart() {
    return clickCountToStart;
  }

  public Object getCellEditorValue() {
    return editor.getValue();
  }

  public boolean isCellEditable(EventObject event) {
    if (event instanceof MouseEvent) {
      return ((MouseEvent)event).getClickCount() >= clickCountToStart;
    }
    return true;
  }

  public boolean shouldSelectCell(EventObject event) {
    return true;
  }

  public boolean stopCellEditing() {
    fireEditingStopped();
    return true;
  }

  public void cancelCellEditing() {
    fireEditingCanceled();
  }

  private Component getEditor(Object value) {
    editor.setValue(value);

    final Component cellEditor = editor.getCustomEditor();

    // request focus later so the editor can be used to enter value as soon as
    // made visible
    SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        cellEditor.requestFocus();
      }
    });

    return cellEditor;
  }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国成人精品a∨在线观看| 欧美精品久久久久久久多人混战 | 一本色道久久加勒比精品| 成人小视频免费观看| 麻豆精品在线播放| 国产精品18久久久久久久网站| 久久99热这里只有精品| 国产综合色视频| 国产精品一区二区91| 国产成人亚洲综合a∨婷婷图片| 国产91露脸合集magnet| 从欧美一区二区三区| av亚洲精华国产精华| 91年精品国产| 欧美视频三区在线播放| 91精品国产综合久久久久久久 | 欧美精品久久99| 欧美一卡2卡3卡4卡| 精品国产不卡一区二区三区| 国产亚洲精品资源在线26u| 日本一区二区三区国色天香 | 国产原创一区二区| 成人黄色免费短视频| 在线日韩国产精品| 欧美一区二区在线视频| www激情久久| 中文字幕字幕中文在线中不卡视频| 曰韩精品一区二区| 麻豆精品在线播放| 成人99免费视频| 欧美群妇大交群的观看方式| 日韩美女在线视频| 国产精品日产欧美久久久久| 一区二区三区不卡视频| 男人操女人的视频在线观看欧美| 国产精品18久久久久久久久 | 懂色av噜噜一区二区三区av| 91国偷自产一区二区三区成为亚洲经典 | 九九九久久久精品| 不卡av在线网| 欧美一区午夜视频在线观看| 国产婷婷一区二区| 亚洲一区中文日韩| 国产精品小仙女| 欧美性受极品xxxx喷水| 久久亚洲精精品中文字幕早川悠里| 中文字幕一区二区三区精华液| 视频一区二区国产| 成人国产视频在线观看| 欧美一区二区三区公司| 亚洲欧洲av另类| 国产精品国产馆在线真实露脸| 日韩国产在线观看| 欧美老女人在线| 国产精品网友自拍| 免费看欧美美女黄的网站| 99久久伊人网影院| 精品少妇一区二区三区在线视频| ●精品国产综合乱码久久久久| 日本系列欧美系列| 欧日韩精品视频| 国产欧美一区二区精品忘忧草| 五月婷婷另类国产| 色综合久久天天综合网| 久久人人爽爽爽人久久久| 亚洲chinese男男1069| 成av人片一区二区| 久久久久久99精品| 美女一区二区视频| 欧美色欧美亚洲另类二区| 国产精品黄色在线观看| 韩国精品免费视频| 日韩午夜激情视频| 性做久久久久久久免费看| 91美女在线视频| 国产欧美综合在线| 国产精品一线二线三线精华| 日韩一区二区三区四区五区六区| 一级中文字幕一区二区| 波波电影院一区二区三区| 久久精品综合网| 韩国三级在线一区| 日韩视频一区二区在线观看| 无吗不卡中文字幕| 欧美日韩一区在线观看| 亚洲综合丁香婷婷六月香| 99久久国产综合精品色伊| 欧美韩国日本不卡| 国产激情视频一区二区在线观看 | 亚洲成人www| 在线视频你懂得一区| 亚洲啪啪综合av一区二区三区| 不卡视频免费播放| 国产精品久久久久久久久免费桃花| 国产风韵犹存在线视精品| 久久久久99精品一区| 国产在线视频一区二区三区| 欧美精品一区二区三区蜜桃 | 国产毛片精品视频| 亚洲第一主播视频| 在线一区二区三区做爰视频网站| 国产精品盗摄一区二区三区| 成人av在线网| 亚洲欧洲成人av每日更新| 91麻豆蜜桃一区二区三区| 亚洲图片欧美激情| 欧美亚洲国产一区在线观看网站| 一区二区理论电影在线观看| 欧美日韩视频专区在线播放| 日韩精品成人一区二区在线| 91精品国产免费| 激情综合一区二区三区| 国产欧美中文在线| av动漫一区二区| 亚洲综合丝袜美腿| 91精品国产综合久久精品性色| 琪琪久久久久日韩精品| 精品国内二区三区| 国产精品123| 亚洲视频一二区| 欧美日韩日日摸| 久久福利视频一区二区| 国产亚洲一区字幕| 色综合天天做天天爱| 午夜精品福利一区二区三区蜜桃| 日韩欧美123| 成人激情免费电影网址| 亚洲午夜久久久久久久久久久| 欧美美女一区二区| 国内精品伊人久久久久av一坑| 国产精品视频免费看| 欧美在线高清视频| 久久97超碰国产精品超碰| 国产精品亲子伦对白| 欧美午夜片在线观看| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲欧洲日韩一区二区三区| 欧美精品乱码久久久久久| 国产乱码精品一区二区三区av | 亚洲福利一区二区三区| 欧美哺乳videos| 91免费在线播放| 日本不卡一二三| 国产精品久久久久精k8| 8v天堂国产在线一区二区| 顶级嫩模精品视频在线看| 香蕉加勒比综合久久| 欧美国产成人精品| 欧美日韩在线电影| 成人天堂资源www在线| 日韩影院免费视频| 中文字幕亚洲欧美在线不卡| 欧美一区二区三区视频| 99免费精品在线观看| 六月丁香婷婷久久| 亚洲最大成人综合| 久久久久久电影| 在线电影欧美成精品| 97久久超碰精品国产| 精品一区二区三区久久久| 一区二区三区不卡在线观看| 国产色综合一区| 7777精品伊人久久久大香线蕉经典版下载 | gogogo免费视频观看亚洲一| 日韩成人一级大片| 中文字幕亚洲区| 精品国产一区二区三区四区四| 色噜噜狠狠成人中文综合| 国产又黄又大久久| 日韩中文字幕1| 综合色天天鬼久久鬼色| 久久蜜桃av一区精品变态类天堂| 91精彩视频在线| 波多野结衣亚洲| 国产精品亚洲成人| 麻豆91免费观看| 性欧美疯狂xxxxbbbb| |精品福利一区二区三区| 国产三级欧美三级日产三级99| 欧美一区二区精品久久911| 欧美性受xxxx黑人xyx| 97精品国产露脸对白| 成人精品一区二区三区中文字幕| 精品在线免费观看| 日韩av一二三| 无码av免费一区二区三区试看| 樱花草国产18久久久久| 国产精品久久一卡二卡| 亚洲精品一区在线观看| 日韩欧美成人一区二区| 91麻豆精品国产91久久久资源速度| 在线观看视频欧美| 久久这里只有精品视频网| 91精品国产乱码| 欧美日韩国产综合草草| 色94色欧美sute亚洲线路一久 | 色婷婷久久久综合中文字幕| 99综合影院在线| 97aⅴ精品视频一二三区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 |