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

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

?? celleditoradapter.java

?? java swing控件
?? JAVA
字號:
/**
 * L2FProd.com Common Components 6.9.1 License.
 *
 * Copyright 2005-2006 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| 日韩精品专区在线| 国产精品视频一二| 五月婷婷激情综合| 国产91精品欧美| 91久久人澡人人添人人爽欧美| 日韩一区二区三区高清免费看看| 久久精品亚洲精品国产欧美kt∨| 亚洲美女屁股眼交| 蜜臀av一区二区三区| www.久久久久久久久| 欧美日韩免费电影| 国产欧美日韩视频一区二区| 亚洲国产aⅴ天堂久久| 国产很黄免费观看久久| 欧美天天综合网| 国产欧美日韩综合精品一区二区 | 极品美女销魂一区二区三区免费| 成人理论电影网| 日韩一级大片在线| |精品福利一区二区三区| 精品系列免费在线观看| 欧美伊人久久久久久久久影院 | 国产高清成人在线| 精品视频999| 国产精品久久久久毛片软件| 欧美a一区二区| 色噜噜狠狠成人中文综合| 久久人人爽爽爽人久久久| 五月天国产精品| 91麻豆精品视频| 久久精品日韩一区二区三区| 舔着乳尖日韩一区| 在线观看日韩国产| 中文字幕精品一区二区精品绿巨人 | 精品一区二区免费| 91精品福利视频| 中文字幕精品—区二区四季| 精品一区二区三区在线视频| 精品视频一区三区九区| 亚洲欧洲在线观看av| 国产又黄又大久久| 欧美精品vⅰdeose4hd| 亚洲柠檬福利资源导航| 成人国产精品免费| 国产日韩一级二级三级| 精品一区二区在线观看| 日韩免费高清视频| 亚洲成av人片在线| 在线看日本不卡| 亚洲欧美日韩在线| av网站一区二区三区| 中文字幕第一区第二区| 国内精品免费**视频| 欧美v日韩v国产v| 久久99国产乱子伦精品免费| 欧美一区二区三区婷婷月色| 亚洲成精国产精品女| 欧美图区在线视频| 亚洲无线码一区二区三区| 91成人免费电影| 亚洲激情一二三区| 色94色欧美sute亚洲13| 亚洲三级在线免费观看| 99久久精品国产一区二区三区| 国产三级精品三级| 暴力调教一区二区三区| 中文字幕在线不卡一区| 99v久久综合狠狠综合久久| 国产精品美女视频| 色综合婷婷久久| 亚洲男同1069视频| 欧美日韩一本到| 天天综合网天天综合色| 91麻豆精品久久久久蜜臀| 日本不卡一区二区| 日韩欧美国产午夜精品| 久久国内精品自在自线400部| 精品日韩欧美在线| 国产精品 日产精品 欧美精品| 国产日韩欧美a| 成人免费va视频| 国产精品二区一区二区aⅴ污介绍| av在线播放成人| 有坂深雪av一区二区精品| 欧美日韩高清一区二区| 日韩专区一卡二卡| 欧美videossexotv100| 国产乱人伦偷精品视频免下载| 欧美国产97人人爽人人喊| 97精品久久久午夜一区二区三区 | 欧美视频一区在线观看| 亚洲v精品v日韩v欧美v专区| 正在播放亚洲一区| 国产麻豆视频精品| 亚洲天堂成人在线观看| 欧美日韩欧美一区二区| 狠狠色综合播放一区二区| 亚洲国产精品精华液2区45| 一本大道久久a久久精二百| 亚州成人在线电影| 国产亚洲自拍一区| 在线视频一区二区三区| 免费观看在线综合色| 国产日韩欧美一区二区三区乱码| 91在线观看污| 日本欧美加勒比视频| 久久精品日产第一区二区三区高清版| 色综合天天综合网国产成人综合天 | 大桥未久av一区二区三区中文| 亚洲日本va午夜在线电影| 欧美另类z0zxhd电影| 国产在线一区二区综合免费视频| 中文字幕字幕中文在线中不卡视频| 欧美日韩一级片在线观看| 国产精品69毛片高清亚洲| 亚洲综合视频在线观看| 精品成人私密视频| 91免费在线视频观看| 蜜桃av一区二区三区电影| 中文字幕一区二区三区四区不卡| 欧美久久一二三四区| av综合在线播放| 老司机精品视频一区二区三区| 国产精品短视频| 日韩精品在线网站| 色婷婷综合在线| 国产乱国产乱300精品| 五月天一区二区三区| 国产精品国产三级国产a| 日韩欧美一级二级三级| 成人久久视频在线观看| 久久精品72免费观看| 亚洲成人午夜电影| 一区在线观看免费| 久久一区二区三区四区| 欧美日韩色一区| 99久久99久久久精品齐齐| 国内精品嫩模私拍在线| 日韩激情中文字幕| 国产精品美女久久久久aⅴ国产馆| 日韩免费成人网| 欧美图片一区二区三区| 91视频免费观看| 国产一区三区三区| 日韩精品亚洲一区二区三区免费| 亚洲欧美在线视频| 久久精品免费在线观看| 日韩欧美中文字幕一区| 欧美日精品一区视频| 色欧美片视频在线观看| 高清成人免费视频| 久久99精品久久久久久| 秋霞午夜鲁丝一区二区老狼| 一二三四区精品视频| 亚洲欧美自拍偷拍| 国产精品看片你懂得| 久久久久国色av免费看影院| 欧美一级夜夜爽| 欧美日韩高清在线| 欧美亚州韩日在线看免费版国语版| 99精品欧美一区二区蜜桃免费 | 中文字幕在线观看一区| 久久久精品tv| 久久噜噜亚洲综合| 2023国产精品自拍| 欧美mv日韩mv| 精品少妇一区二区三区在线视频 | 国产伦精品一区二区三区视频青涩 | 色综合天天性综合| av一本久道久久综合久久鬼色| 成人丝袜高跟foot| 国产成人在线看| 国产mv日韩mv欧美| 粉嫩aⅴ一区二区三区四区| 国产一区二区三区综合| 国产专区综合网| 国产一区二区影院| 国产麻豆视频一区二区| 国产91富婆露脸刺激对白 | 亚洲最大成人综合| 亚洲美腿欧美偷拍| 亚洲自拍偷拍综合| 亚洲国产成人91porn| 五月天激情综合| 青青草成人在线观看| 经典三级视频一区| 国产乱一区二区| av中文一区二区三区| 日本高清视频一区二区| 在线观看日产精品| 欧美人与禽zozo性伦| 精品国产99国产精品| 国产视频一区不卡| 中文字幕亚洲在| 亚洲自拍与偷拍|