Statistics
| Revision:

gvsig-tools / org.gvsig.tools / library / trunk / org.gvsig.tools / org.gvsig.tools.util / org.gvsig.tools.util.impl / src / main / java / org / gvsig / imageviewer / DefaultImageViewer.java @ 1840

History | View | Annotate | Download (1.54 KB)

1

    
2
package org.gvsig.imageviewer;
3

    
4
import java.awt.BorderLayout;
5
import java.awt.Dimension;
6
import java.awt.Image;
7
import java.io.File;
8
import java.net.URL;
9
import javax.swing.ImageIcon;
10
import javax.swing.JComponent;
11
import javax.swing.JLabel;
12
import javax.swing.JPanel;
13

    
14

    
15
@SuppressWarnings("UseSpecificCatch")
16
public class DefaultImageViewer extends JPanel implements ImageViewer {
17

    
18
    private JLabel label;
19

    
20
    public DefaultImageViewer() {
21
        this.initComponents();
22
    }
23
    
24
    private void initComponents() {
25
        this.label = new JLabel();
26
        this.setLayout(new BorderLayout());
27
        this.add(this.label, BorderLayout.CENTER);
28
        
29
        this.setPreferredSize( new Dimension(200,350));
30
    }
31
    
32
    private void setImage(ImageIcon image) {
33
        this.label.setIcon(image);
34
        this.setPreferredSize(new Dimension(image.getIconWidth(), image.getIconHeight()));
35
    }
36

    
37
    @Override
38
    public void setImage(URL image) {
39
        ImageIcon img = new ImageIcon(image);
40
        this.setImage(img);
41
    }
42

    
43
    @Override
44
    public void setImage(File image) {
45
        try {
46
            this.setImage(image.toURI().toURL());
47
        } catch(Exception ex) {
48
            throw new IllegalArgumentException(ex);
49
        }
50
    }
51

    
52
    @Override
53
    public void setImage(Image image) {
54
        ImageIcon img = new ImageIcon(image);
55
        this.setImage(img);
56
    }
57
    
58
    @Override
59
    public JComponent asJComponent() {
60
        return this;
61
    }
62

    
63
    @Override
64
    public void clean() {
65
        this.label.setIcon(null);
66
    }
67
    
68
    
69
        
70
}