1
// CLASSIFICATION: UNCLASSIFIED
4
* CreateEllipsoidDlg.java
5
* Created on September 5, 2000, 11:26 AM
11
import geotrans3.exception.CoordinateConversionException;
12
import geotrans3.jni.JNICoordinateConversionService;
13
import geotrans3.jni.JNIEllipsoidLibrary;
14
import geotrans3.misc.StringHandler;
15
import geotrans3.utility.Utility;
16
import geotrans3.utility.Platform;
20
* This class create a user defined Ellipsoid
21
* if the input parameters are valid.
25
* @version 1.0, September 2000
28
public class CreateEllipsoidDlg extends javax.swing.JDialog
30
private JNIEllipsoidLibrary jniEllipsoidLibrary;
32
/** Creates new form CreateEllip */
33
public CreateEllipsoidDlg(JNICoordinateConversionService _jniCoordinateConversionService, java.awt.Frame parent, boolean modal) throws CoordinateConversionException
37
jniEllipsoidLibrary = new JNIEllipsoidLibrary(_jniCoordinateConversionService.getEllipsoidLibrary());
41
Utility.center(parent, this);
42
if(Platform.isJavaV1_3)
44
ellipsoidCodeLabel.setForeground(java.awt.Color.black);
45
ellipsoidNameLabel.setForeground(java.awt.Color.black);
46
semiMajorAxisLabel.setForeground(java.awt.Color.black);
47
invFlatteningLabel.setForeground(java.awt.Color.black);
52
ellipsoidCodeLabel.setFont(new java.awt.Font("Dialog", 1, 10));
53
ellipsoidNameLabel.setFont(new java.awt.Font("Dialog", 1, 10));
54
semiMajorAxisLabel.setFont(new java.awt.Font("Dialog", 1, 10));
55
invFlatteningLabel.setFont(new java.awt.Font("Dialog", 1, 10));
56
okButton.setFont(new java.awt.Font("Dialog", 1, 10));
57
cancelButton.setFont(new java.awt.Font("Dialog", 1, 10));
61
/** This method is called from within the constructor to
62
* initialize the form.
63
* WARNING: Do NOT modify this code. The content of this method is
64
* always regenerated by the FormEditor.
66
private void initComponents() {//GEN-BEGIN:initComponents
67
createEllipsoidPanel = new javax.swing.JPanel();
68
ellipsoidCodeLabel = new javax.swing.JLabel();
69
ellipsoidNameLabel = new javax.swing.JLabel();
70
semiMajorAxisLabel = new javax.swing.JLabel();
71
invFlatteningLabel = new javax.swing.JLabel();
72
ellipsoidCodeTextField = new javax.swing.JTextField();
73
ellipsoidNameTextField = new javax.swing.JTextField();
74
semiMajorAxisTextField = new javax.swing.JTextField();
75
invFlatteningTextField = new javax.swing.JTextField();
76
buttonsPanel = new javax.swing.JPanel();
77
okButton = new javax.swing.JButton();
78
cancelButton = new javax.swing.JButton();
80
getContentPane().setLayout(new java.awt.GridBagLayout());
81
java.awt.GridBagConstraints gridBagConstraints2;
83
setTitle("Create Ellipsoid ");
85
addWindowListener(new java.awt.event.WindowAdapter() {
86
public void windowClosing(java.awt.event.WindowEvent evt) {
91
createEllipsoidPanel.setLayout(new java.awt.GridBagLayout());
92
java.awt.GridBagConstraints gridBagConstraints4;
94
createEllipsoidPanel.setMinimumSize(new java.awt.Dimension(282, 114));
95
createEllipsoidPanel.setPreferredSize(new java.awt.Dimension(282, 114));
96
ellipsoidCodeLabel.setText("Code:");
97
ellipsoidCodeLabel.setMaximumSize(new java.awt.Dimension(120, 16));
98
ellipsoidCodeLabel.setMinimumSize(new java.awt.Dimension(120, 16));
99
ellipsoidCodeLabel.setPreferredSize(new java.awt.Dimension(120, 16));
100
gridBagConstraints4 = new java.awt.GridBagConstraints();
101
gridBagConstraints4.fill = java.awt.GridBagConstraints.BOTH;
102
gridBagConstraints4.insets = new java.awt.Insets(0, 0, 0, 6);
103
createEllipsoidPanel.add(ellipsoidCodeLabel, gridBagConstraints4);
105
ellipsoidNameLabel.setText("Name:");
106
ellipsoidNameLabel.setMaximumSize(new java.awt.Dimension(120, 16));
107
ellipsoidNameLabel.setMinimumSize(new java.awt.Dimension(120, 16));
108
ellipsoidNameLabel.setPreferredSize(new java.awt.Dimension(120, 16));
109
gridBagConstraints4 = new java.awt.GridBagConstraints();
110
gridBagConstraints4.fill = java.awt.GridBagConstraints.BOTH;
111
gridBagConstraints4.insets = new java.awt.Insets(0, 6, 0, 0);
112
createEllipsoidPanel.add(ellipsoidNameLabel, gridBagConstraints4);
114
semiMajorAxisLabel.setText("Semi-Major Axis (m):");
115
semiMajorAxisLabel.setMaximumSize(new java.awt.Dimension(120, 16));
116
semiMajorAxisLabel.setMinimumSize(new java.awt.Dimension(120, 16));
117
semiMajorAxisLabel.setPreferredSize(new java.awt.Dimension(120, 16));
118
gridBagConstraints4 = new java.awt.GridBagConstraints();
119
gridBagConstraints4.gridx = 0;
120
gridBagConstraints4.gridy = 2;
121
gridBagConstraints4.fill = java.awt.GridBagConstraints.BOTH;
122
gridBagConstraints4.insets = new java.awt.Insets(12, 0, 0, 6);
123
createEllipsoidPanel.add(semiMajorAxisLabel, gridBagConstraints4);
125
invFlatteningLabel.setText("Inverse Flattening:");
126
invFlatteningLabel.setMaximumSize(new java.awt.Dimension(120, 16));
127
invFlatteningLabel.setMinimumSize(new java.awt.Dimension(120, 16));
128
invFlatteningLabel.setPreferredSize(new java.awt.Dimension(120, 16));
129
gridBagConstraints4 = new java.awt.GridBagConstraints();
130
gridBagConstraints4.gridx = 1;
131
gridBagConstraints4.gridy = 2;
132
gridBagConstraints4.fill = java.awt.GridBagConstraints.BOTH;
133
gridBagConstraints4.insets = new java.awt.Insets(12, 6, 0, 0);
134
createEllipsoidPanel.add(invFlatteningLabel, gridBagConstraints4);
136
ellipsoidCodeTextField.setText("WE");
137
ellipsoidCodeTextField.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));
138
ellipsoidCodeTextField.setMinimumSize(new java.awt.Dimension(120, 20));
139
ellipsoidCodeTextField.setPreferredSize(new java.awt.Dimension(120, 20));
140
gridBagConstraints4 = new java.awt.GridBagConstraints();
141
gridBagConstraints4.gridx = 0;
142
gridBagConstraints4.gridy = 1;
143
gridBagConstraints4.fill = java.awt.GridBagConstraints.BOTH;
144
gridBagConstraints4.insets = new java.awt.Insets(0, 0, 0, 6);
145
createEllipsoidPanel.add(ellipsoidCodeTextField, gridBagConstraints4);
147
ellipsoidNameTextField.setText("WGS84");
148
ellipsoidNameTextField.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));
149
ellipsoidNameTextField.setMinimumSize(new java.awt.Dimension(120, 20));
150
ellipsoidNameTextField.setPreferredSize(new java.awt.Dimension(120, 20));
151
gridBagConstraints4 = new java.awt.GridBagConstraints();
152
gridBagConstraints4.gridx = 1;
153
gridBagConstraints4.gridy = 1;
154
gridBagConstraints4.fill = java.awt.GridBagConstraints.BOTH;
155
gridBagConstraints4.insets = new java.awt.Insets(0, 6, 0, 0);
156
createEllipsoidPanel.add(ellipsoidNameTextField, gridBagConstraints4);
158
semiMajorAxisTextField.setText("6378137");
159
semiMajorAxisTextField.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));
160
semiMajorAxisTextField.setMinimumSize(new java.awt.Dimension(120, 20));
161
semiMajorAxisTextField.setPreferredSize(new java.awt.Dimension(120, 20));
162
gridBagConstraints4 = new java.awt.GridBagConstraints();
163
gridBagConstraints4.gridx = 0;
164
gridBagConstraints4.gridy = 3;
165
gridBagConstraints4.fill = java.awt.GridBagConstraints.BOTH;
166
gridBagConstraints4.insets = new java.awt.Insets(0, 0, 0, 6);
167
createEllipsoidPanel.add(semiMajorAxisTextField, gridBagConstraints4);
169
invFlatteningTextField.setText("300");
170
invFlatteningTextField.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));
171
invFlatteningTextField.setMinimumSize(new java.awt.Dimension(120, 20));
172
invFlatteningTextField.setPreferredSize(new java.awt.Dimension(120, 20));
173
gridBagConstraints4 = new java.awt.GridBagConstraints();
174
gridBagConstraints4.gridx = 1;
175
gridBagConstraints4.gridy = 3;
176
gridBagConstraints4.fill = java.awt.GridBagConstraints.BOTH;
177
gridBagConstraints4.insets = new java.awt.Insets(0, 6, 0, 0);
178
createEllipsoidPanel.add(invFlatteningTextField, gridBagConstraints4);
180
gridBagConstraints2 = new java.awt.GridBagConstraints();
181
getContentPane().add(createEllipsoidPanel, gridBagConstraints2);
183
buttonsPanel.setLayout(new java.awt.GridBagLayout());
184
java.awt.GridBagConstraints gridBagConstraints3;
186
okButton.setMnemonic(java.awt.event.KeyEvent.VK_O);
187
okButton.setText("OK");
188
okButton.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.RAISED));
189
okButton.setMaximumSize(new java.awt.Dimension(43, 22));
190
okButton.setMinimumSize(new java.awt.Dimension(43, 22));
191
okButton.setPreferredSize(new java.awt.Dimension(43, 22));
192
okButton.addActionListener(new java.awt.event.ActionListener() {
193
public void actionPerformed(java.awt.event.ActionEvent evt) {
194
okActionPerformed(evt);
198
gridBagConstraints3 = new java.awt.GridBagConstraints();
199
gridBagConstraints3.gridx = 0;
200
gridBagConstraints3.gridy = 2;
201
gridBagConstraints3.ipadx = 25;
202
gridBagConstraints3.insets = new java.awt.Insets(0, 0, 0, 10);
203
buttonsPanel.add(okButton, gridBagConstraints3);
205
cancelButton.setMnemonic(java.awt.event.KeyEvent.VK_C);
206
cancelButton.setText("Cancel");
207
cancelButton.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.RAISED));
208
cancelButton.setMaximumSize(new java.awt.Dimension(43, 22));
209
cancelButton.setMinimumSize(new java.awt.Dimension(43, 22));
210
cancelButton.setPreferredSize(new java.awt.Dimension(43, 22));
211
cancelButton.addActionListener(new java.awt.event.ActionListener() {
212
public void actionPerformed(java.awt.event.ActionEvent evt) {
213
cancelActionPerformed(evt);
217
gridBagConstraints3 = new java.awt.GridBagConstraints();
218
gridBagConstraints3.gridx = 2;
219
gridBagConstraints3.gridy = 2;
220
gridBagConstraints3.ipadx = 25;
221
gridBagConstraints3.insets = new java.awt.Insets(0, 10, 0, 0);
222
buttonsPanel.add(cancelButton, gridBagConstraints3);
224
gridBagConstraints2 = new java.awt.GridBagConstraints();
225
gridBagConstraints2.gridx = 0;
226
gridBagConstraints2.gridy = 2;
227
gridBagConstraints2.fill = java.awt.GridBagConstraints.BOTH;
228
gridBagConstraints2.insets = new java.awt.Insets(5, 0, 8, 0);
229
getContentPane().add(buttonsPanel, gridBagConstraints2);
231
}//GEN-END:initComponents
233
private void cancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelActionPerformed
236
}//GEN-LAST:event_cancelActionPerformed
238
private void okActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okActionPerformed
239
StringHandler stringHandler = new StringHandler();
241
double semiMajorAxis = stringHandler.stringToDouble(semiMajorAxisTextField.getText().trim(), "Invalid Semi-Major Axis");
242
double invFlattening = 1.0 / (stringHandler.stringToDouble(invFlatteningTextField.getText().trim(), "Invalid Inverse Flattening"));
244
if(stringHandler.getError())
246
stringHandler.displayErrorMsg(this);
252
jniEllipsoidLibrary.defineEllipsoid(ellipsoidCodeTextField.getText().trim(),
253
ellipsoidNameTextField.getText().trim(),
254
semiMajorAxis, invFlattening);
258
catch(CoordinateConversionException e)
260
stringHandler.displayErrorMsg(this, e.getMessage());
263
}//GEN-LAST:event_okActionPerformed
265
/** Closes the dialog */
266
private void closeDialog(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_closeDialog
269
}//GEN-LAST:event_closeDialog
272
* @param args the command line arguments
274
public static void main (String args[]) {
277
new CreateEllipsoidDlg (new JNICoordinateConversionService(), new javax.swing.JFrame (), true).show ();
281
System.out.println(e.getMessage());
285
// Variables declaration - do not modify//GEN-BEGIN:variables
286
private javax.swing.JPanel createEllipsoidPanel;
287
private javax.swing.JLabel ellipsoidCodeLabel;
288
private javax.swing.JLabel ellipsoidNameLabel;
289
private javax.swing.JLabel semiMajorAxisLabel;
290
private javax.swing.JLabel invFlatteningLabel;
291
private javax.swing.JTextField ellipsoidCodeTextField;
292
private javax.swing.JTextField ellipsoidNameTextField;
293
private javax.swing.JTextField semiMajorAxisTextField;
294
private javax.swing.JTextField invFlatteningTextField;
295
private javax.swing.JPanel buttonsPanel;
296
private javax.swing.JButton okButton;
297
private javax.swing.JButton cancelButton;
298
// End of variables declaration//GEN-END:variables
302
// CLASSIFICATION: UNCLASSIFIED