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 |
} |