2 |
26 Feb 07 |
jari |
1 |
/* |
2 |
26 Feb 07 |
jari |
Copyright @ 1999-2003, The Institute for Genomic Research (TIGR). |
2 |
26 Feb 07 |
jari |
All rights reserved. |
2 |
26 Feb 07 |
jari |
4 |
*/ |
2 |
26 Feb 07 |
jari |
5 |
/* |
2 |
26 Feb 07 |
jari |
* $RCSfile: Monitor.java,v $ |
2 |
26 Feb 07 |
jari |
* $Revision: 1.4 $ |
2 |
26 Feb 07 |
jari |
* $Date: 2006/02/23 20:59:50 $ |
2 |
26 Feb 07 |
jari |
* $Author: caliente $ |
2 |
26 Feb 07 |
jari |
* $State: Exp $ |
2 |
26 Feb 07 |
jari |
11 |
*/ |
2 |
26 Feb 07 |
jari |
12 |
package org.tigr.microarray.mev.cluster.gui.impl.dialogs; |
2 |
26 Feb 07 |
jari |
13 |
|
2 |
26 Feb 07 |
jari |
14 |
import java.awt.Color; |
2 |
26 Feb 07 |
jari |
15 |
import java.awt.Dimension; |
2 |
26 Feb 07 |
jari |
16 |
import java.awt.Frame; |
2 |
26 Feb 07 |
jari |
17 |
import java.awt.Graphics; |
2 |
26 Feb 07 |
jari |
18 |
import java.awt.Graphics2D; |
2 |
26 Feb 07 |
jari |
19 |
import java.awt.RenderingHints; |
2 |
26 Feb 07 |
jari |
20 |
import java.awt.event.WindowEvent; |
2 |
26 Feb 07 |
jari |
21 |
|
2 |
26 Feb 07 |
jari |
22 |
import javax.swing.ImageIcon; |
2 |
26 Feb 07 |
jari |
23 |
import javax.swing.JDialog; |
2 |
26 Feb 07 |
jari |
24 |
import javax.swing.JLabel; |
2 |
26 Feb 07 |
jari |
25 |
import javax.swing.JPanel; |
2 |
26 Feb 07 |
jari |
26 |
|
2 |
26 Feb 07 |
jari |
27 |
import org.tigr.microarray.mev.cluster.gui.impl.GUIFactory; |
2 |
26 Feb 07 |
jari |
28 |
|
2 |
26 Feb 07 |
jari |
29 |
public class Monitor extends JDialog { |
2 |
26 Feb 07 |
jari |
30 |
|
2 |
26 Feb 07 |
jari |
31 |
private JPanel drawingArea; |
2 |
26 Feb 07 |
jari |
32 |
private int position = 0; |
2 |
26 Feb 07 |
jari |
33 |
private int stepXFactor = 1; |
2 |
26 Feb 07 |
jari |
34 |
private double factor; |
2 |
26 Feb 07 |
jari |
35 |
private int[] values = new int[245]; |
2 |
26 Feb 07 |
jari |
36 |
|
2 |
26 Feb 07 |
jari |
37 |
/** |
2 |
26 Feb 07 |
jari |
* Creates a <code>Monitor</code> with specified parameters. |
2 |
26 Feb 07 |
jari |
39 |
*/ |
2 |
26 Feb 07 |
jari |
40 |
public Monitor(Frame parent, String title, int x, int y, double factor) { |
2 |
26 Feb 07 |
jari |
41 |
super(parent, title); |
2 |
26 Feb 07 |
jari |
42 |
this.factor = factor; |
2 |
26 Feb 07 |
jari |
43 |
enableEvents(WindowEvent.WINDOW_EVENT_MASK); |
2 |
26 Feb 07 |
jari |
44 |
drawingArea = new JPanel() { |
2 |
26 Feb 07 |
jari |
45 |
protected void paintComponent(Graphics g) { |
2 |
26 Feb 07 |
jari |
46 |
super.paintComponent(g); |
2 |
26 Feb 07 |
jari |
47 |
onPaint(g); |
2 |
26 Feb 07 |
jari |
48 |
} |
2 |
26 Feb 07 |
jari |
49 |
}; |
2 |
26 Feb 07 |
jari |
50 |
drawingArea.setPreferredSize(new Dimension(275, 275)); |
2 |
26 Feb 07 |
jari |
51 |
drawingArea.setOpaque(false); |
2 |
26 Feb 07 |
jari |
52 |
for (int i=1; i<200; i++) { |
2 |
26 Feb 07 |
jari |
53 |
values[i]=0; |
2 |
26 Feb 07 |
jari |
54 |
} |
2 |
26 Feb 07 |
jari |
55 |
getContentPane().add(drawingArea); |
2 |
26 Feb 07 |
jari |
56 |
((JPanel)getContentPane()).setOpaque(false); |
2 |
26 Feb 07 |
jari |
57 |
ImageIcon backgroundImage = GUIFactory.getIcon("monitor.jpg"); |
2 |
26 Feb 07 |
jari |
58 |
JLabel backgoundLabel = new JLabel(backgroundImage); |
2 |
26 Feb 07 |
jari |
59 |
drawingArea.add(backgoundLabel); |
2 |
26 Feb 07 |
jari |
60 |
getLayeredPane().add(backgoundLabel, new Integer(Integer.MIN_VALUE)); |
2 |
26 Feb 07 |
jari |
61 |
backgoundLabel.setBounds(0, 0, backgroundImage.getIconWidth(), backgroundImage.getIconHeight()); |
2 |
26 Feb 07 |
jari |
62 |
setLocation(x, y); |
2 |
26 Feb 07 |
jari |
63 |
pack(); |
2 |
26 Feb 07 |
jari |
64 |
} |
2 |
26 Feb 07 |
jari |
65 |
|
2 |
26 Feb 07 |
jari |
66 |
/** |
2 |
26 Feb 07 |
jari |
* Updates the dialog view. |
2 |
26 Feb 07 |
jari |
68 |
*/ |
2 |
26 Feb 07 |
jari |
69 |
public void update(double value) { |
2 |
26 Feb 07 |
jari |
70 |
int dummy = (int)Math.round(value*factor); |
2 |
26 Feb 07 |
jari |
71 |
if (dummy > 210) { |
2 |
26 Feb 07 |
jari |
72 |
dummy = 210; |
2 |
26 Feb 07 |
jari |
73 |
} |
2 |
26 Feb 07 |
jari |
74 |
values[position] = 210 - dummy; |
2 |
26 Feb 07 |
jari |
75 |
position++; |
2 |
26 Feb 07 |
jari |
76 |
if (position*stepXFactor >= 245) { |
2 |
26 Feb 07 |
jari |
77 |
position = 0; |
2 |
26 Feb 07 |
jari |
78 |
} |
2 |
26 Feb 07 |
jari |
79 |
drawingArea.repaint(); |
2 |
26 Feb 07 |
jari |
80 |
} |
2 |
26 Feb 07 |
jari |
81 |
|
2 |
26 Feb 07 |
jari |
82 |
/** |
2 |
26 Feb 07 |
jari |
* Sets x step factor. |
2 |
26 Feb 07 |
jari |
84 |
*/ |
2 |
26 Feb 07 |
jari |
85 |
public void setStepXFactor(int stepXFactor) { |
2 |
26 Feb 07 |
jari |
86 |
this.stepXFactor = stepXFactor; |
2 |
26 Feb 07 |
jari |
87 |
} |
2 |
26 Feb 07 |
jari |
88 |
|
2 |
26 Feb 07 |
jari |
89 |
protected void processWindowEvent(WindowEvent e) { |
2 |
26 Feb 07 |
jari |
90 |
if (e.getID() == WindowEvent.WINDOW_CLOSING) { |
2 |
26 Feb 07 |
jari |
91 |
dispose(); |
2 |
26 Feb 07 |
jari |
92 |
} |
2 |
26 Feb 07 |
jari |
93 |
super.processWindowEvent(e); |
2 |
26 Feb 07 |
jari |
94 |
} |
2 |
26 Feb 07 |
jari |
95 |
|
2 |
26 Feb 07 |
jari |
96 |
/** |
2 |
26 Feb 07 |
jari |
* Paints a chart into specified graphics. |
2 |
26 Feb 07 |
jari |
98 |
*/ |
2 |
26 Feb 07 |
jari |
99 |
private void onPaint(Graphics g) { |
2 |
26 Feb 07 |
jari |
100 |
Graphics2D g2 = (Graphics2D)g; |
2 |
26 Feb 07 |
jari |
101 |
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); |
2 |
26 Feb 07 |
jari |
102 |
g2.clipRect(15, 28, 245, 210); |
2 |
26 Feb 07 |
jari |
103 |
g2.setColor(new Color(118, 243, 254)); |
2 |
26 Feb 07 |
jari |
104 |
for (int i=1; i<position; i++) { |
2 |
26 Feb 07 |
jari |
105 |
g2.drawLine(15+(i-1)*stepXFactor, 28+values[i-1], 15+i*stepXFactor, 28+values[i]); |
2 |
26 Feb 07 |
jari |
106 |
} |
2 |
26 Feb 07 |
jari |
107 |
} |
2 |
26 Feb 07 |
jari |
108 |
|
2 |
26 Feb 07 |
jari |
109 |
} |