Statistics
| Revision:

svn-gvsig-desktop / branches / F2 / extensions / extJCRS / src / org / gvsig / crs / gui / panels / wizard / DefCrsUsr.java @ 10603

History | View | Annotate | Download (4.86 KB)

1
package org.gvsig.crs.gui.panels.wizard;
2

    
3

    
4
import java.awt.BorderLayout;
5
import java.awt.Dimension;
6
import java.awt.GridBagConstraints;
7
import java.awt.GridBagLayout;
8
import java.awt.Insets;
9
import java.awt.event.ActionEvent;
10
import java.awt.event.ActionListener;
11

    
12
import javax.swing.ButtonGroup;
13
import javax.swing.JButton;
14
import javax.swing.JLabel;
15
import javax.swing.JPanel;
16
import javax.swing.JRadioButton;
17
import javax.swing.border.TitledBorder;
18

    
19

    
20
/**
21
 * Panel de definici?n del Crs por el usuario
22
 * 
23
 *  @author Luisa Marina Fernandez Ruiz (luisam.fernandez@uclm.es)
24
 *
25
 */
26
public class DefCrsUsr extends JPanel{
27
        private JPanel panel;
28
        //jbuton definido por gvsig
29
        private JButton btn;
30
        private JLabel lblCrs;
31
        private JRadioButton rbCrsExistente;
32
        private JRadioButton rbNuevoCrs;
33
        private JRadioButton rbCadenaWkt;
34
        private ButtonGroup crsGroup;
35
        
36
        private static final long serialVersionUID = 1L;
37

    
38
        //quitar cuando se defina que implements action listener
39
        private RadioListener myListener;
40
        
41
        public DefCrsUsr() {
42
                super();
43
                //eventos de RadioButton
44
                myListener= new RadioListener();
45
                initialize();
46
                
47
        }
48

    
49
/*
50
 * Inicializa el panel de Definici?n del Crs por el usuario
51
 */
52
        private void initialize() {
53
                this.setLayout(new BorderLayout());
54
                this.add(getPanel(),BorderLayout.CENTER);
55
                
56
                        
57
        }
58
        
59
        /*
60
         * Agrega todos los elementos
61
         */
62
        public JPanel getPanel() {
63
                if(panel==null){
64
                        panel=new JPanel();
65
                        panel.setBorder(new TitledBorder("Definici?n del Crs por el usuario"));
66
                        panel.setLayout(new GridBagLayout());
67
                        GridBagConstraints c = new GridBagConstraints();
68
                        c.fill = GridBagConstraints.BOTH;
69
                        //c.ipady=100;
70
                        //establece el espacio superior, inferior, izquierdo y derecho
71
                        //entre cada componente
72
                        c.insets=new Insets(8,8,8,8);
73
                        //c.ipady =60;      //make this component tall
74
                        c.weightx = 0.75;
75
                        c.gridx = 0;
76
                        c.gridy = 0;
77
                        panel.add(getRbCrsExistente(),c);
78
                        c.weightx = 0.25;
79
                        c.gridx = 1;
80
                        c.gridy = 0;
81
                        panel.add(getLblCrs(),c);
82
                        c.fill = GridBagConstraints.NONE;
83
                        c.gridx = 2;
84
                        c.gridy = 0;
85
                        panel.add(getBtn(),c);
86
                        
87
                        c.fill = GridBagConstraints.BOTH;
88
                        c.gridx = 0;
89
                        c.gridy = 1;
90
                        panel.add(getRbNuevoCrs(),c);
91
        
92
                        c.gridx = 0;
93
                        c.gridy = 2;
94
                        panel.add(getRbCadenaWkt(),c);
95
                        //Agrupa los botones de opcion
96
                        agruparRadioButtons();
97
                        //Selecci?n por defecto
98
                        getRbCrsExistente().setSelected(true);
99
                        
100
                }
101
                return panel;
102
        }
103
        
104
        /*
105
         * Agrupa los botones de opci?n
106
         */
107
        private void agruparRadioButtons() {
108
                if (crsGroup==null){
109
                                crsGroup=new ButtonGroup();
110
                                //Agrupar los botones de opcion
111
                                crsGroup.add(getRbCrsExistente());
112
                                crsGroup.add(getRbNuevoCrs());
113
                                crsGroup.add(getRbCadenaWkt());
114
                        }
115
                        
116
        }
117

    
118
        public JButton getBtn() {
119
                if (btn==null){
120
                        btn=new JButton("...");
121
                        Dimension d=new Dimension(btn.getPreferredSize());
122
                        d.width=100;
123
                        btn.setSize(d);
124
                }
125
                return btn;
126
        }
127

    
128
        public JRadioButton getRbCadenaWkt() {
129
                if (rbCadenaWkt==null){
130
                        //TODO:Comprobar las traducciones
131
                        //rbCadenaWkt=new JRadioButton(PluginServices.getText(this,"jpDefCrsUsr_wkt"));
132
                        rbCadenaWkt=new JRadioButton("Crear de una cadena wkt");
133
                        rbCadenaWkt.addActionListener(myListener);
134
                }
135
                return rbCadenaWkt;
136
        }
137

    
138
        public JRadioButton getRbCrsExistente() {
139
                if (rbCrsExistente==null){
140
//                        TODO:Comprobar las traducciones
141
                        //rbCrsExistente=new JRadioButton(PluginServices.getText(this,"jpDefCrsUsr_existente"));
142
                        rbCrsExistente=new JRadioButton("CRS Existente");
143
                        rbCrsExistente.addActionListener(myListener);
144
                }
145
                return rbCrsExistente;
146
        }
147
        
148
        public JRadioButton getRbNuevoCrs() {
149
                if (rbNuevoCrs==null){
150
//                        TODO:Comprobar las traducciones
151
                        //rbNuevoCrs=new JRadioButton(PluginServices.getText(this,"jpDefCrsUsr_nuevo"));
152
                        rbNuevoCrs=new JRadioButton("Crear un nuevo Crs");
153
                        rbNuevoCrs.addActionListener(myListener);
154
                }
155
                return rbNuevoCrs;
156
        }
157

    
158

    
159
        public JLabel getLblCrs() {
160
                if (lblCrs==null){
161
                        lblCrs=new JLabel("EPSG: 23030");
162
                }
163
                return lblCrs;
164
        }
165
        //hacer que la clase implemente action listener e implementar el m?todo
166
    /** Listens to the radio buttons. */
167
    class RadioListener implements ActionListener { 
168
        public void actionPerformed(ActionEvent e) {
169
           if(e.getSource().equals(getRbCrsExistente())){
170
                   System.out.println("Has seleccionado: A partir de un CRS existente");
171
                   habilitarExistente(true);
172
           }else  if(e.getSource().equals(getRbNuevoCrs())){
173
                   System.out.println("Has seleccionado: A partir de un nuevo CRS");
174
                   habilitarExistente(false);
175
           }else  if(e.getSource().equals(getRbCadenaWkt())){
176
                   System.out.println("Has seleccionado: Crear WKT");
177
                   habilitarExistente(false);
178
           }
179
        }
180
  
181
    }
182
    /**
183
     * Activa o desactiva el bot?n y el cuadro de texto
184
     * @param b Si es False--> deshabilita
185
     */
186
        private void habilitarExistente(boolean b) {
187
                        getBtn().setEnabled(b);
188
                        getLblCrs().setEnabled(b);
189
        }
190
        
191
        
192
}