root / branches / F2 / extensions / extJCRS / src / org / gvsig / crs / gui / panels / wizard / DefCrsUsr.java @ 10609
History | View | Annotate | Download (6.98 KB)
1 |
package org.gvsig.crs.gui.panels.wizard; |
---|---|
2 |
|
3 |
|
4 |
import java.awt.BorderLayout; |
5 |
import java.awt.Color; |
6 |
import java.awt.Dimension; |
7 |
import java.awt.GridBagConstraints; |
8 |
import java.awt.GridBagLayout; |
9 |
import java.awt.Insets; |
10 |
import java.awt.event.ActionEvent; |
11 |
import java.awt.event.ActionListener; |
12 |
|
13 |
import javax.swing.ButtonGroup; |
14 |
import javax.swing.JButton; |
15 |
import javax.swing.JLabel; |
16 |
import javax.swing.JPanel; |
17 |
import javax.swing.JRadioButton; |
18 |
import javax.swing.JScrollPane; |
19 |
import javax.swing.JTextArea; |
20 |
import javax.swing.border.TitledBorder; |
21 |
|
22 |
|
23 |
/**
|
24 |
* Panel de definici?n del Crs por el usuario
|
25 |
*
|
26 |
* @author Luisa Marina Fernandez Ruiz (luisam.fernandez@uclm.es)
|
27 |
*
|
28 |
*/
|
29 |
public class DefCrsUsr extends JPanel implements ActionListener{ |
30 |
private JPanel panel; |
31 |
//jbuton definido por gvsig
|
32 |
private JButton btnCrsExistente; |
33 |
private JLabel lblCrs; |
34 |
private JRadioButton rbCrsExistente; |
35 |
private JRadioButton rbNuevoCrs; |
36 |
private JRadioButton rbCadenaWkt; |
37 |
private ButtonGroup crsGroup; |
38 |
private JTextArea txtAreaWkt; |
39 |
private JButton btnImportarWkt; |
40 |
private JScrollPane scrollWkt; |
41 |
|
42 |
private int width=380; |
43 |
//290
|
44 |
|
45 |
private static final long serialVersionUID = 1L; |
46 |
|
47 |
public DefCrsUsr() {
|
48 |
super();
|
49 |
initialize(); |
50 |
|
51 |
} |
52 |
|
53 |
/*
|
54 |
* Inicializa el panel de Definici?n del Crs por el usuario
|
55 |
*/
|
56 |
private void initialize() { |
57 |
this.setLayout(new BorderLayout()); |
58 |
this.add(getPanel(),BorderLayout.CENTER); |
59 |
habilitarWkt(false);
|
60 |
|
61 |
} |
62 |
|
63 |
/*
|
64 |
* Agrega todos los elementos
|
65 |
*/
|
66 |
public JPanel getPanel() { |
67 |
if(panel==null){ |
68 |
panel=new JPanel(); |
69 |
panel.setBorder(new TitledBorder("Definici?n del Crs por el usuario")); |
70 |
panel.setLayout(new GridBagLayout()); |
71 |
GridBagConstraints c = new GridBagConstraints(); |
72 |
c.fill = GridBagConstraints.BOTH;
|
73 |
c.weighty=0.1;
|
74 |
//c.ipady=100;
|
75 |
//establece el espacio superior, inferior, izquierdo y derecho
|
76 |
//entre cada componente
|
77 |
c.insets=new Insets(8,8,8,8); |
78 |
//c.ipady =60; //make this component tall
|
79 |
c.weightx = 0.75;
|
80 |
c.gridx = 0;
|
81 |
c.gridy = 0;
|
82 |
panel.add(getRbCrsExistente(),c); |
83 |
c.weightx = 0.25;
|
84 |
c.gridx = 1;
|
85 |
c.gridy = 0;
|
86 |
panel.add(getLblCrs(),c); |
87 |
|
88 |
c.fill = GridBagConstraints.EAST;
|
89 |
c.weightx=0.0;
|
90 |
c.gridx = 2;
|
91 |
c.gridy = 0;
|
92 |
panel.add(getBtnCrsExistente(),c); |
93 |
|
94 |
c.fill = GridBagConstraints.BOTH;
|
95 |
c.weightx = 0.75;
|
96 |
c.gridx = 0;
|
97 |
c.gridy = 1;
|
98 |
panel.add(getRbNuevoCrs(),c); |
99 |
|
100 |
c.gridx = 0;
|
101 |
c.gridy = 2;
|
102 |
panel.add(getRbCadenaWkt(),c); |
103 |
// Agrupa los botones de opcion
|
104 |
agruparRadioButtons(); |
105 |
//Selecci?n por defecto
|
106 |
getRbCrsExistente().setSelected(true);
|
107 |
|
108 |
c.gridx=2;
|
109 |
c.gridy=2;
|
110 |
c.weightx=0.0;
|
111 |
c.weighty=0.0;
|
112 |
c.fill = GridBagConstraints.NONE;
|
113 |
panel.add(getBtnImportarWkt(),c); |
114 |
|
115 |
//vertical
|
116 |
c.fill=GridBagConstraints.VERTICAL;
|
117 |
c.anchor=GridBagConstraints.EAST;
|
118 |
c.gridx = 0;
|
119 |
c.gridy = 4;
|
120 |
c.gridwidth=3;
|
121 |
c.weighty=0.75;
|
122 |
panel.add(getScrollWkt(),c); |
123 |
|
124 |
|
125 |
} |
126 |
return panel;
|
127 |
} |
128 |
|
129 |
/*
|
130 |
* Agrupa los botones de opci?n
|
131 |
*/
|
132 |
private void agruparRadioButtons() { |
133 |
if (crsGroup==null){ |
134 |
crsGroup=new ButtonGroup(); |
135 |
//Agrupar los botones de opcion
|
136 |
crsGroup.add(getRbCrsExistente()); |
137 |
crsGroup.add(getRbNuevoCrs()); |
138 |
crsGroup.add(getRbCadenaWkt()); |
139 |
} |
140 |
|
141 |
} |
142 |
|
143 |
public JRadioButton getRbCadenaWkt() { |
144 |
if (rbCadenaWkt==null){ |
145 |
//TODO:Comprobar las traducciones
|
146 |
//rbCadenaWkt=new JRadioButton(PluginServices.getText(this,"jpDefCrsUsr_wkt"));
|
147 |
rbCadenaWkt=new JRadioButton("Crear de una cadena wkt: "); |
148 |
rbCadenaWkt.addActionListener(this);
|
149 |
} |
150 |
return rbCadenaWkt;
|
151 |
} |
152 |
|
153 |
public JRadioButton getRbCrsExistente() { |
154 |
if (rbCrsExistente==null){ |
155 |
// TODO:Comprobar las traducciones
|
156 |
//rbCrsExistente=new JRadioButton(PluginServices.getText(this,"jpDefCrsUsr_existente"));
|
157 |
rbCrsExistente=new JRadioButton("CRS Existente"); |
158 |
rbCrsExistente.addActionListener(this);
|
159 |
} |
160 |
return rbCrsExistente;
|
161 |
} |
162 |
|
163 |
public JRadioButton getRbNuevoCrs() { |
164 |
if (rbNuevoCrs==null){ |
165 |
// TODO:Comprobar las traducciones
|
166 |
//rbNuevoCrs=new JRadioButton(PluginServices.getText(this,"jpDefCrsUsr_nuevo"));
|
167 |
rbNuevoCrs=new JRadioButton("Crear un nuevo Crs"); |
168 |
rbNuevoCrs.addActionListener(this);
|
169 |
} |
170 |
return rbNuevoCrs;
|
171 |
} |
172 |
|
173 |
|
174 |
public JLabel getLblCrs() { |
175 |
if (lblCrs==null){ |
176 |
lblCrs=new JLabel("EPSG: 23030"); |
177 |
} |
178 |
return lblCrs;
|
179 |
} |
180 |
|
181 |
/**
|
182 |
* Activa o desactiva el bot?n y el cuadro de texto
|
183 |
* @param b Si es False--> deshabilita
|
184 |
*/
|
185 |
private void habilitarExistente(boolean b) { |
186 |
getBtnCrsExistente().setEnabled(b); |
187 |
getLblCrs().setEnabled(b); |
188 |
} |
189 |
private void habilitarWkt(boolean b){ |
190 |
getBtnImportarWkt().setEnabled(b); |
191 |
getTxtAreaWkt().setEnabled(b); |
192 |
} |
193 |
/**
|
194 |
* Inicilizar el boton importar la cadena WKT
|
195 |
* @return
|
196 |
*/
|
197 |
public JButton getBtnImportarWkt() { |
198 |
if(btnImportarWkt==null){ |
199 |
btnImportarWkt=new JButton(); |
200 |
btnImportarWkt.setText("...");
|
201 |
btnImportarWkt.addActionListener(this);
|
202 |
btnImportarWkt.setToolTipText("Importar cadena Wkt");
|
203 |
} |
204 |
return btnImportarWkt;
|
205 |
} |
206 |
public JButton getBtnCrsExistente() { |
207 |
if (btnCrsExistente==null){ |
208 |
btnCrsExistente=new JButton("..."); |
209 |
Dimension d=new Dimension(btnCrsExistente.getPreferredSize()); |
210 |
d.width=100;
|
211 |
btnCrsExistente.setSize(d); |
212 |
btnCrsExistente.addActionListener(this);
|
213 |
btnCrsExistente.setToolTipText("Seleccionar Crs Existente");
|
214 |
} |
215 |
return btnCrsExistente;
|
216 |
} |
217 |
/**
|
218 |
* Inicializar el area de texto donde se introduce la cadena WKT
|
219 |
* @return
|
220 |
*/
|
221 |
public JTextArea getTxtAreaWkt() { |
222 |
if(txtAreaWkt==null){ |
223 |
txtAreaWkt=new JTextArea(); |
224 |
txtAreaWkt.setLineWrap(true);
|
225 |
txtAreaWkt.setWrapStyleWord(true);
|
226 |
Dimension d=new Dimension(txtAreaWkt.getPreferredSize()); |
227 |
d.width=width; |
228 |
txtAreaWkt.setSize(d); |
229 |
} |
230 |
return txtAreaWkt;
|
231 |
} |
232 |
/*
|
233 |
*Crea un panel de desplazamineto en el que se
|
234 |
*agrega el area de texto para que ?ste tenga barras de desplazamiento
|
235 |
*/
|
236 |
public JScrollPane getScrollWkt() { |
237 |
if (scrollWkt==null){ |
238 |
scrollWkt=new JScrollPane(); |
239 |
scrollWkt.setViewportView(getTxtAreaWkt()); |
240 |
scrollWkt.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
|
241 |
Dimension d=new Dimension(txtAreaWkt.getPreferredSize()); |
242 |
d.width=width; |
243 |
scrollWkt.setSize(d); |
244 |
} |
245 |
return scrollWkt;
|
246 |
} |
247 |
|
248 |
public void actionPerformed(ActionEvent e) { |
249 |
if(e.getSource().equals(getRbCrsExistente())){
|
250 |
System.out.println("Has seleccionado: A partir de un CRS existente"); |
251 |
habilitarExistente(true);
|
252 |
habilitarWkt(false);
|
253 |
}else if(e.getSource().equals(getRbNuevoCrs())){ |
254 |
System.out.println("Has seleccionado: A partir de un nuevo CRS"); |
255 |
habilitarExistente(false);
|
256 |
habilitarWkt(false);
|
257 |
}else if(e.getSource().equals(getRbCadenaWkt())){ |
258 |
System.out.println("Has seleccionado: Crear WKT"); |
259 |
habilitarExistente(false);
|
260 |
habilitarWkt(true);
|
261 |
}else if(e.getSource().equals(getBtnCrsExistente())){ |
262 |
System.out.println("boton Crs Existente"); |
263 |
|
264 |
}else if(e.getSource().equals(getBtnImportarWkt())){ |
265 |
System.out.println("Boton Importar Wkt"); |
266 |
|
267 |
} |
268 |
} |
269 |
|
270 |
} |