Revision 19361 trunk/extensions/extRasterTools-SE/src/org/gvsig/raster/beans/canvas/GCanvas.java
GCanvas.java | ||
---|---|---|
21 | 21 |
import java.awt.Color; |
22 | 22 |
import java.awt.Cursor; |
23 | 23 |
import java.awt.Graphics; |
24 |
import java.awt.Graphics2D; |
|
25 |
import java.awt.RenderingHints; |
|
26 | 24 |
import java.awt.event.MouseEvent; |
27 | 25 |
import java.awt.event.MouseListener; |
28 | 26 |
import java.awt.event.MouseMotionListener; |
29 | 27 |
import java.util.ArrayList; |
28 |
import java.util.Iterator; |
|
30 | 29 |
|
31 | 30 |
import javax.swing.JPanel; |
32 | 31 |
/** |
... | ... | |
47 | 46 |
private int y = -1; |
48 | 47 |
private int w = -1; |
49 | 48 |
private int h = -1; |
49 |
|
|
50 |
private ArrayList actionCommandListeners = new ArrayList(); |
|
50 | 51 |
|
51 | 52 |
/** |
52 | 53 |
* Contructor.Inicializa el objeto asignando color de fondo. Considera que el objeto |
... | ... | |
61 | 62 |
} |
62 | 63 |
|
63 | 64 |
/** |
65 |
* A?adir un listener a la lista de eventos |
|
66 |
* @param listener |
|
67 |
*/ |
|
68 |
public void addValueChangedListener(IGCanvasListener listener) { |
|
69 |
if (!actionCommandListeners.contains(listener)) |
|
70 |
actionCommandListeners.add(listener); |
|
71 |
} |
|
72 |
|
|
73 |
/** |
|
74 |
* Borrar un listener de la lista de eventos |
|
75 |
* @param listener |
|
76 |
*/ |
|
77 |
public void removeValueChangedListener(IGCanvasListener listener) { |
|
78 |
actionCommandListeners.remove(listener); |
|
79 |
} |
|
80 |
|
|
81 |
/** |
|
82 |
* Invocar a los eventos asociados al componente |
|
83 |
*/ |
|
84 |
public void callDataChanged(String key, Object value) { |
|
85 |
Iterator iterator = actionCommandListeners.iterator(); |
|
86 |
while (iterator.hasNext()) { |
|
87 |
IGCanvasListener listener = (IGCanvasListener) iterator.next(); |
|
88 |
listener.actionDataChanged(new GCanvasEvent(this, key, value)); |
|
89 |
} |
|
90 |
} |
|
91 |
|
|
92 |
/** |
|
93 |
* Invocar a los eventos asociados al componente |
|
94 |
*/ |
|
95 |
public void callDataDragged(String key, Object value) { |
|
96 |
Iterator iterator = actionCommandListeners.iterator(); |
|
97 |
while (iterator.hasNext()) { |
|
98 |
IGCanvasListener listener = (IGCanvasListener) iterator.next(); |
|
99 |
listener.actionDataDragged(new GCanvasEvent(this, key, value)); |
|
100 |
} |
|
101 |
} |
|
102 |
|
|
103 |
/** |
|
64 | 104 |
* Asigna un elemento dibujable a la lista |
65 | 105 |
* @param element |
66 | 106 |
*/ |
... | ... | |
81 | 121 |
* Inicializa el fondo y dibuja el gr?fico sobre el canvas. |
82 | 122 |
*/ |
83 | 123 |
public void paint(Graphics g) { |
84 |
Graphics2D g2 = (Graphics2D) g; |
|
85 |
RenderingHints hints = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); |
|
86 |
hints.add(new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY)); |
|
87 |
g2.setRenderingHints(hints); |
|
88 |
|
|
89 | 124 |
g.setColor(backgroundColor); |
90 | 125 |
g.fillRect(getVisibleRect().x, getVisibleRect().y, getVisibleRect().width, getVisibleRect().height); |
91 | 126 |
for (int i = 0; i < drawableElements.size(); i++) |
Also available in: Unified diff