KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sshtools > ui > awt > SelectList


1 package com.sshtools.ui.awt;
2
3 import java.awt.List JavaDoc;
4 import java.awt.event.MouseEvent JavaDoc;
5 import java.awt.event.MouseListener JavaDoc;
6
7 public abstract class SelectList extends List JavaDoc implements MouseListener JavaDoc {
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 JavaDoc e) {
30     if (e.getClickCount() == 2)
31       selected();
32   }
33
34   public void mousePressed(MouseEvent JavaDoc e) {
35     if (timerThread == null) {
36       released = false;
37       timerThread = new Thread JavaDoc() {
38
39         public void run() {
40           try {
41             Thread.sleep(waitInterval);
42           } catch (InterruptedException JavaDoc interruptedexception) {
43           }
44           if (!released)
45             selected();
46           timerThread = null;
47         }
48
49       };
50       timerThread.start();
51     }
52   }
53
54   public void mouseReleased(MouseEvent JavaDoc e) {
55     released = true;
56   }
57
58   public void mouseEntered(MouseEvent JavaDoc mouseevent) {
59   }
60
61   public void mouseExited(MouseEvent JavaDoc mouseevent) {
62   }
63
64   private Thread JavaDoc timerThread;
65   private int waitInterval;
66   private boolean released;
67
68 }
Popular Tags