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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? psearchpopupwindow.java

?? 更方便的SWING
?? JAVA
字號:
/*
 * PSwing Utilities -- Nifty Swing Widgets
 * Copyright (C) 2002  Pallas Technology
 * 
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 * 
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 * 
 * Pallas Technology
 * 1170 HOWELL MILL RD NW
 * SUITE 306
 * ATLANTA GEORGIA 30318
 * 
 * PHONE 404.983.0623
 * EMAIL info@pallastechnology.com
 * 
 * www.pallastechnology.com
 **************************************************************************
 * $Archive: SwingTools$
 * $FileName: PSearchPopupWindow.java$
 * $FileID: 27$
 *
 * Last change:
 * $AuthorName: Rob MacGrogan$
 * $Date: 2/14/03 7:32 PM$
 * $VerID: 71$
 * $Comment: $
 **************************************************************************/
package com.pallas.swing.psearchcombo;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dialog;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Point;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Enumeration;
import java.util.Vector;

import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.JWindow;
import javax.swing.ListModel;
import javax.swing.UIManager;
import javax.swing.border.Border;
import javax.swing.border.EmptyBorder;
import javax.swing.border.EtchedBorder;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

/**
 * Title:   $FileName: PSearchPopupWindow.java$
 * @version $VerNum: 2$
 * @author $AuthorName: Rob MacGrogan$<br><br>
 * 
 * $Description: $<br>
 * $KeyWordsOff: $<br><br>
 */
public class PSearchPopupWindow extends JWindow {
  
  private PSearchCombo comboBox;
  private JTextField searchTerm;
  private JList resultList;
  private JButton goButton;

  private Color selectedBackground;
  private Color selectedForeground;
  private Color background;
  private Color foreground;
  
  private static final String INITIAL_LIST_MESSAGE = "Enter a term above to search the list";  

  public PSearchPopupWindow(PSearchCombo combo, Window parent){
    super(parent);
    this.comboBox = combo;  
    background = UIManager.getColor("Panel.background");
    foreground = UIManager.getColor("Panel.foreground");
    selectedBackground = UIManager.getColor("ComboBox.selectionBackground");
    selectedForeground = UIManager.getColor("ComboBox.selectionForeground");
    initializePopup();
  }  

  public PSearchPopupWindow(PSearchCombo combo, Dialog parent){
    super(parent);
    this.comboBox = combo;  
    background = UIManager.getColor("Panel.background");
    foreground = UIManager.getColor("Panel.foreground");
    selectedBackground = UIManager.getColor("ComboBox.selectionBackground");
    selectedForeground = UIManager.getColor("ComboBox.selectionForeground");
    initializePopup();
  }  

  public void showPopup(){
    Dimension sd = comboBox.getSize();
    int width = (int)(( sd.width ));
    int height = ( sd.height) * 10;

    Dimension comboDim = comboBox.getComboBox().getSize();
  
    Point pt = comboBox.getLocationOnScreen();
    
    //goButton.setSize(new Dimension(comboDim.height, comboDim.height));

    searchTerm.setPreferredSize(new Dimension(comboDim.width, comboDim.height));

    
    int x = pt.x;
    int y = pt.y + sd.height;

    setLocation(x, y);
    setSize(new Dimension(width, height));
    setVisible(true);
  }

  protected JButton buildGoButton() {
    JButton btn = new JButton("go");
    btn.addActionListener(
      new ActionListener(){
        /**
         * @see java.awt.event.ActionListener#actionPerformed(ActionEvent)
         */
        public void actionPerformed(ActionEvent ev) {
          Vector results = searchComboContents(searchTerm.getText());
          resultList.setListData(results);
          //setVisible(false);
        }
      }
    );
    //btn.setMaximumSize(new Dimension(16, 16));
    btn.setPreferredSize(new Dimension(22, 22));
    return btn;
  }

  protected void initializePopup() {
    JLabel label;
    label = new JLabel("Enter search term:");

    searchTerm = new JTextField();
    //searchTerm.setPreferredSize(new Dimension(200, 18));
    searchTerm.setEnabled(true);

    goButton = buildGoButton();
    goButton.setToolTipText("Enter search term and click to perform serach");

    JPanel headerTop = new JPanel(new FlowLayout(FlowLayout.LEFT));
    headerTop.add(label);
    
    JPanel searchPanel1 = new JPanel(new GridLayout(1,1, 0, 3));
    searchPanel1.add(searchTerm);
    JPanel searchPanel = new JPanel();
    searchPanel.add(searchPanel1);
    
    JPanel buttonPanel = new JPanel();
    buttonPanel.add(goButton);

    JPanel headerBottom = new JPanel(new BorderLayout());
    headerBottom.add(searchPanel, BorderLayout.CENTER);
    headerBottom.add(buttonPanel, BorderLayout.EAST);

    
    JPanel header = new JPanel(new BorderLayout(6, 0));
    header.setBackground(background);
    header.setOpaque(true);
    header.add(Box.createHorizontalStrut(6), BorderLayout.WEST);
    header.add(Box.createHorizontalStrut(6), BorderLayout.EAST);

    JPanel middle = new JPanel();
    middle.setLayout(new BoxLayout(middle, BoxLayout.Y_AXIS));
    middle.add(headerTop);
    header.add(middle, BorderLayout.CENTER);

    resultList = buildResultListBox();
    JScrollPane scroller = new JScrollPane(resultList);    
    scroller.setPreferredSize(new Dimension(comboBox.getWidth(), 100));

    JPanel mainPanel = new JPanel();
    //mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
    mainPanel.setLayout(new BorderLayout());
    mainPanel.setBorder(BorderFactory.createLineBorder(Color.black));
    mainPanel.setBackground(background);
    mainPanel.add(headerBottom, BorderLayout.NORTH);
    mainPanel.add(scroller, BorderLayout.CENTER);
    
    getContentPane().add(mainPanel, BorderLayout.CENTER);    
    
    PSearchFocusListener lsn = new PSearchFocusListener(this);
    
    addWindowFocusListener(lsn);
  }

  private JList buildResultListBox(){
    Vector vec = new Vector();
    vec.add(INITIAL_LIST_MESSAGE);
    JList list = new JList(vec);
    list.addListSelectionListener(new PSearchListSelectionListener(this));
    return list;
  }

  private Vector searchComboContents(String search){
    Vector results = new Vector();
    String upperSearch = search.toUpperCase();
    
    ListModel model = comboBox.getModel();
    
    for (int i = 0; i < model.getSize(); i++){
      Object o = model.getElementAt(i);
      String s = o.toString().toUpperCase();
      if (s.indexOf(upperSearch) > -1){
        results.add(o);
      } 
    }
    return results;
  }

  /**
   * Returns the comboBox.
   * @return PSearchCombo
   */
  public PSearchCombo getComboBox() {
    return comboBox;
  }

  /**
   * Returns the resultList.
   * @return JList
   */
  public JList getResultList() {
    return resultList;
  }

  /**
   * Returns the searchTerm.
   * @return JTextField
   */
  public JTextField getSearchTerm() {
    return searchTerm;
  }
  

  //This method forum a forum on java.sun.com, posted by fabot4.
  //Post is here--http://forum.java.sun.com/thread.jsp?forum=257&thread=113615
  protected javax.swing.JRootPane createRootPane(){
    javax.swing.JRootPane rootPane = new javax.swing.JRootPane();
    rootPane.registerKeyboardAction(
        new java.awt.event.ActionListener(){
            public void actionPerformed(java.awt.event.ActionEvent e){
              hidePopup();
            }
        },
        javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0),
        javax.swing.JComponent.WHEN_IN_FOCUSED_WINDOW);
    return rootPane;
  }

  public void hidePopup(){
    setVisible(false);
    getComboBox().getComboBox().getEditor().getEditorComponent().requestFocus();
  }

  
  private class PSearchFocusListener extends WindowAdapter{
    
    private PSearchPopupWindow parent = null;
    public PSearchFocusListener(PSearchPopupWindow p){
      parent = p;
    }
    
    /**
     * @see java.awt.event.WindowFocusListener#windowLostFocus(WindowEvent)
     */
    public void windowLostFocus(WindowEvent ev) {
      parent.hidePopup();
    }
  }

  private class PSearchListSelectionListener implements ListSelectionListener{
    private PSearchPopupWindow parent = null;
    public PSearchListSelectionListener(PSearchPopupWindow parent){
      this.parent = parent;
    }
    
    public void valueChanged(ListSelectionEvent ev){
      if (! ev.getValueIsAdjusting()){
        Object oSelected = parent.getResultList().getSelectedValue();
        if (oSelected != null &&
            oSelected != INITIAL_LIST_MESSAGE){
          parent.getComboBox().setSelectedItem(oSelected);
          parent.hidePopup();
        }
      }
    }
    
  }



}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产欧美一区二区| 亚洲精选视频在线| 国产精品国产三级国产专播品爱网 | 91网站在线观看视频| 911国产精品| 亚洲天堂av一区| 国产精品18久久久久久久久| 在线观看视频一区二区| 国产免费成人在线视频| 另类小说综合欧美亚洲| 欧美性大战久久久| 中文字幕在线视频一区| 国产综合色在线视频区| 欧美三级中文字幕在线观看| 中文字幕亚洲一区二区av在线 | 激情伊人五月天久久综合| 欧美日韩综合一区| 亚洲欧美日韩国产一区二区三区| 国产最新精品免费| 精品国产一区二区三区久久影院| 五月婷婷久久综合| 欧美在线视频不卡| 亚洲综合视频网| 色视频成人在线观看免| 亚洲精品视频在线观看网站| jizzjizzjizz欧美| 国产精品第一页第二页第三页| 国产在线不卡一卡二卡三卡四卡| 欧美xingq一区二区| 激情综合网最新| 欧美大片拔萝卜| 久久精品99国产精品日本| 欧美一级二级在线观看| 免费欧美日韩国产三级电影| 在线观看91精品国产麻豆| 丝袜美腿亚洲一区二区图片| 欧美日韩精品专区| 视频在线观看一区二区三区| 欧美日韩国产高清一区二区三区| 亚洲一区二区三区四区在线| 在线观看亚洲成人| 亚洲一区二区欧美| 91精品婷婷国产综合久久| 日本vs亚洲vs韩国一区三区| 日韩视频免费直播| 精品亚洲porn| 国产精品网曝门| 色综合久久久久综合99| 亚洲一区二区偷拍精品| 欧美一区二区三区思思人| 精品一区二区精品| 欧美激情一区二区在线| av欧美精品.com| 亚洲午夜成aⅴ人片| 日韩一卡二卡三卡四卡| 国产成人福利片| 亚洲乱码国产乱码精品精的特点| 在线观看三级视频欧美| 日本成人中文字幕| 欧美激情自拍偷拍| 欧美视频自拍偷拍| 国产在线日韩欧美| 亚洲欧美经典视频| 欧美一二三四区在线| 丁香桃色午夜亚洲一区二区三区| 中文字幕中文乱码欧美一区二区| 欧美无砖砖区免费| 国产成人免费视频网站| 亚洲va在线va天堂| 久久嫩草精品久久久精品一| 色菇凉天天综合网| 国产麻豆视频一区二区| 亚洲大片在线观看| 国产精品网站导航| 日韩你懂的在线观看| 99久久精品情趣| 毛片基地黄久久久久久天堂| 一区在线观看视频| 日韩亚洲国产中文字幕欧美| 97久久精品人人做人人爽| 久久er99热精品一区二区| 亚洲激情av在线| 久久久精品天堂| 日韩视频在线你懂得| 91黄色免费看| 成人黄色片在线观看| 久久不见久久见免费视频7| 亚洲综合色婷婷| 国产欧美日韩精品在线| 日韩女同互慰一区二区| 欧美三级中文字| 91热门视频在线观看| 激情综合一区二区三区| 免费亚洲电影在线| 亚洲成a人v欧美综合天堂| 中文字幕色av一区二区三区| 337p日本欧洲亚洲大胆精品| 欧美日韩黄视频| 欧美午夜免费电影| av一区二区不卡| 国产91丝袜在线播放| 国产一区二区三区久久久| 久久精品国产99久久6| 日本va欧美va精品| 日本视频中文字幕一区二区三区| 亚洲一区二区欧美日韩| 一区二区三区不卡在线观看| 亚洲桃色在线一区| 一区二区中文视频| 亚洲欧美日韩国产综合| 综合久久综合久久| 亚洲免费观看高清完整| 成人欧美一区二区三区白人| 国产精品久久久久久久久久久免费看 | 亚洲国产精品激情在线观看| 2022国产精品视频| 欧美激情一区二区三区四区| 国产日韩欧美高清在线| 中文字幕免费在线观看视频一区| 久久夜色精品国产欧美乱极品| 337p粉嫩大胆噜噜噜噜噜91av| 2023国产精品自拍| 国产欧美一区二区精品仙草咪| 国产日韩av一区| 国产精品欧美一区喷水| 综合久久国产九一剧情麻豆| 亚洲免费成人av| 午夜婷婷国产麻豆精品| 青娱乐精品视频| 精品无人码麻豆乱码1区2区| 粉嫩久久99精品久久久久久夜| 国产成人综合在线播放| 91色|porny| 91精品国产综合久久精品app| 91精品国产色综合久久不卡蜜臀| 日韩欧美成人午夜| 国产精品嫩草影院av蜜臀| 亚洲精品国产视频| 美女诱惑一区二区| 国产电影精品久久禁18| 成人久久久精品乱码一区二区三区 | 在线观看亚洲一区| 日韩欧美一卡二卡| 欧美国产日韩在线观看| 亚洲一区二区三区四区中文字幕| 美日韩一区二区| 99在线精品视频| 久久婷婷成人综合色| 国产亚洲欧美日韩日本| 亚洲欧美日韩在线播放| 欧美a一区二区| www.日韩av| 日韩一级精品视频在线观看| 亚洲欧洲精品天堂一级| 日日噜噜夜夜狠狠视频欧美人| 黄色资源网久久资源365| 91亚洲国产成人精品一区二区三| 91精品在线免费观看| 亚洲日本乱码在线观看| 麻豆91在线播放免费| 色综合中文综合网| 日韩欧美中文字幕制服| 国产精品理论片在线观看| 亚洲电影视频在线| 成人免费视频播放| 日韩午夜激情视频| 亚洲免费高清视频在线| 国产精品综合网| 欧美一区二区三区白人| 一区二区三区.www| 丰满少妇久久久久久久| 日韩欧美国产不卡| 亚洲一区二区三区四区在线免费观看| 国产精品99久久不卡二区| 欧美色图天堂网| 国产精品理论在线观看| 久久99精品国产麻豆不卡| 欧美亚洲国产一区二区三区va | 精品少妇一区二区三区在线视频| 亚洲精品国产精品乱码不99| 成人综合在线观看| 欧美精品一区二区三区蜜桃| 婷婷开心久久网| 欧美日韩一区二区三区在线| 日本91福利区| 欧美午夜精品免费| 亚洲一区二区在线免费看| 成a人片亚洲日本久久| 国产亚洲欧美一级| 国产精品1区2区3区| 亚洲精品一区二区三区精华液 | 亚洲五码中文字幕| 色一情一乱一乱一91av| 亚洲精品乱码久久久久久久久| 成人av免费在线观看| 国产精品麻豆网站| 成人精品高清在线| 欧美国产一区二区在线观看| 国产99精品视频| 国产精品美女久久久久久久久久久 |