1 package com.sshtools.ui.awt; 2 3 import java.awt.List ; 4 import java.awt.event.MouseEvent ; 5 import java.awt.event.MouseListener ; 6 7 public abstract class SelectList extends List implements MouseListener { 8 9 public SelectList() { 10 init(750); 11 } 12 13 public SelectList(int items) { 14 this(items, 750); 15 } 16 17 public SelectList(int items, int waitInterval) { 18 super(items); 19 init(waitInterval); 20 } 21 22 private void init(int waitInterval) { 23 this.waitInterval = waitInterval; 24 addMouseListener(this); 25 } 26 27 public abstract void selected(); 28 29 public void mouseClicked(MouseEvent e) { 30 if (e.getClickCount() == 2) 31 selected(); 32 } 33 34 public void mousePressed(MouseEvent e) { 35 if (timerThread == null) { 36 released = false; 37 timerThread = new Thread () { 38 39 public void run() { 40 try { 41 Thread.sleep(waitInterval); 42 } catch (InterruptedException interruptedexception) { 43 } 44 if (!released) 45 selected(); 46 timerThread = null; 47 } 48 49 }; 50 timerThread.start(); 51 } 52 } 53 54 public void mouseReleased(MouseEvent e) { 55 released = true; 56 } 57 58 public void mouseEntered(MouseEvent mouseevent) { 59 } 60 61 public void mouseExited(MouseEvent mouseevent) { 62 } 63 64 private Thread timerThread; 65 private int waitInterval; 66 private boolean released; 67 68 } | Popular Tags |