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