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