Statistics
| Revision:

root / trunk / libraries / libJCRS / src / org / gvsig / crs / gui / panels / ESRIpanel.java @ 8149

History | View | Annotate | Download (3.01 KB)

1
package org.gvsig.crs.gui.panels;
2
import java.awt.Dimension;
3
import java.awt.FlowLayout;
4
import java.awt.GridLayout;
5
import java.awt.event.ActionEvent;
6
import java.awt.event.ActionListener;
7
import java.io.File;
8

    
9
import javax.swing.JButton;
10
import javax.swing.JFileChooser;
11
import javax.swing.JLabel;
12
import javax.swing.JPanel;
13
import javax.swing.JTextField;
14
import javax.swing.filechooser.FileFilter;
15

    
16
import com.iver.andami.PluginServices;
17

    
18
public class ESRIpanel extends JPanel implements ActionListener {
19
        
20
        /**
21
         * 
22
         */
23
        private static final long serialVersionUID = 1L;
24
        private JLabel open_esri;
25
        private JTextField jTextOpen;
26
        private JFileChooser openChooser;
27
        private JButton jButtonOpen;
28
        File f = new File("C:/Archivos de programa/FWTools1.0.0a7/data/Geographic Coordinate Systems");
29

    
30
        public ESRIpanel() {
31
                initialize();                
32
        }
33
        
34
        private void initialize(){
35
                this.setPreferredSize(new Dimension(525,400));
36
                this.setLayout(new GridLayout(2,2));
37
                this.setLayout(new FlowLayout(FlowLayout.CENTER,5,5));                        
38
                this.add(getOpenESRI(), null);
39
                this.add(getJTextOpen(), null);
40
                this.add(getButtonOpen(), null);
41
        }
42

    
43
        private JLabel getOpenESRI() {
44
                if(open_esri == null) {
45
                        open_esri = new JLabel();
46
                        open_esri.setPreferredSize(new Dimension(80,20));
47
                        open_esri.setText(PluginServices.getText(this,"Abrir .prj:"));
48
                }
49
                return open_esri;
50
        }
51
        
52
        public JTextField getJTextOpen() {
53
                if(jTextOpen == null) {
54
                        jTextOpen = new JTextField();
55
                        jTextOpen.setPreferredSize(new Dimension(200,20));
56
                        jTextOpen.setText("");
57
                }
58
                return jTextOpen;
59
        }
60
        
61
        private JFileChooser getOpen(){
62
                if(openChooser == null){
63
                        openChooser = new JFileChooser();
64
                        openChooser.addChoosableFileFilter(new FiltroESRI());
65
                        openChooser.setEnabled(false);
66
                }
67
                return openChooser;
68
        }
69
        
70
        private JButton getButtonOpen() {
71
                if(jButtonOpen == null) {
72
                        jButtonOpen = new JButton();
73
                        jButtonOpen.setText("");
74
                        jButtonOpen.setPreferredSize(new Dimension(20,20));
75
                        jButtonOpen.addActionListener(this);
76
                }
77
                return jButtonOpen;
78
        }
79
        
80
        public void actionPerformed(ActionEvent e) {
81
                // TODO Auto-generated method stub
82
                if (e.getSource() == this.getButtonOpen()){
83
                        add(getOpen(), null);
84
                        openChooser.setCurrentDirectory(f);
85
                        int returnVal = openChooser.showOpenDialog(ESRIpanel.this);
86
                if (returnVal == JFileChooser.APPROVE_OPTION) {
87
                    File file = openChooser.getSelectedFile();
88
                    jTextOpen.setText(file.getAbsolutePath());
89
                }
90
                }
91
        }        
92
}
93

    
94
class FiltroESRI extends FileFilter{        
95
        
96
         final static String prj = "prj";
97
                
98
                public boolean accept(File f) {
99
                        if (f.isDirectory()) {
100
                    return true;
101
                }
102

    
103
                String s = f.getName();
104
                int i = s.lastIndexOf('.');
105

    
106
                if (i > 0 &&  i < s.length() - 1) {
107
                    String extension = s.substring(i+1).toLowerCase();
108
                    if (prj.equals(extension)){
109
                            return true;
110
                    } else {
111
                        return false;
112
                    }
113
                }
114

    
115
                return false;
116
                }
117

    
118
                public String getDescription() {
119
                         return "Archivos .prj";
120
                }
121
}
122