Statistics
| Revision:

root / org.gvsig.toolbox / trunk / org.gvsig.toolbox / org.gvsig.toolbox.gui / src / main / java / es / unex / sextante / gui / toolbox / TransparentScrollPane.java @ 541

History | View | Annotate | Download (1.74 KB)

1 59 nbrodin
package es.unex.sextante.gui.toolbox;
2
3
import java.awt.Component;
4
import java.awt.Graphics;
5
import javax.swing.ImageIcon;
6
import javax.swing.JComponent;
7
import javax.swing.JScrollPane;
8
import javax.swing.JViewport;
9
10
public class TransparentScrollPane
11
         extends
12
            JScrollPane {
13
14
   ImageIcon image = null;
15
16
17
   public TransparentScrollPane(final Component view,
18
                                final int vsbPolicy,
19
                                final int hsbPolicy) {
20
21
      super(view, vsbPolicy, hsbPolicy);
22
      if (view instanceof JComponent) {
23
         ((JComponent) view).setOpaque(false);
24
      }
25
26
      this.setOpaque(false);
27
      this.getViewport().setOpaque(false);
28
29
   }
30
31
32
   public TransparentScrollPane(final Component view) {
33
34
      this(view, VERTICAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_AS_NEEDED);
35
36
   }
37
38
39
   public TransparentScrollPane(final int vsbPolicy,
40
                                final int hsbPolicy) {
41
42
      this(null, vsbPolicy, hsbPolicy);
43
44
   }
45
46
47
   public TransparentScrollPane() {
48
49
      this(null, VERTICAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_AS_NEEDED);
50
   }
51
52
53
   @Override
54
   public void paintComponent(final Graphics g) {
55
56
57
      if (image != null) {
58 541 fdiaz
        g.setColor(this.getBackground());
59
        g.fillRect(0, 0, this.getWidth(), this.getHeight());
60 59 nbrodin
         final int h = image.getIconHeight();
61
         final int w = image.getIconWidth();
62
         g.drawImage(image.getImage(), getWidth() - w, getHeight() - h, null, null);
63
         getViewport().setScrollMode(JViewport.BLIT_SCROLL_MODE);
64
      }
65
      super.paintComponent(g);
66
67
   }
68
69
70
   public void setBackgroundImage(final ImageIcon image) {
71
72
      this.image = image;
73
74
   }
75
76
}