1 package org.wcb.gui.dialog;
2
3 import org.wcb.gui.forms.AircraftTypeEntryForm;
4 import org.wcb.gui.forms.AircraftTypeTableDisplayForm;
5 import org.wcb.gui.component.VectorButton;
6 import org.wcb.gui.util.UIHelper;
7 import org.wcb.resources.MessageResourceRegister;
8 import org.wcb.model.vo.hibernate.AircraftTypeBO;
9 import org.wcb.model.bd.AircraftDelegate;
10 import org.wcb.model.util.SpringUtil;
11 import org.wcb.model.service.IServicesConstants;
12 import org.wcb.resources.MessageKey;
13
14 import javax.swing.*;
15 import java.awt.event.ActionListener;
16 import java.awt.event.ActionEvent;
17 import java.awt.*;
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 public class AircraftTypeEntryDialog extends JDialog implements ActionListener {
47
48 private AircraftTypeEntryForm form;
49 private AircraftTypeBO oAircraftType;
50 private AircraftDelegate delegate;
51 private JButton cancelButton;
52 private JButton saveButton;
53 private JComponent parent;
54
55
56
57
58
59 public AircraftTypeEntryDialog(JComponent parent) {
60 this.parent = parent;
61 delegate = (AircraftDelegate) SpringUtil.getApplicationContext().getBean(IServicesConstants.AIRCRAFT_DELEGATE);
62 setTitle("Pilot's Log - New Aircraft Type");
63 setModal(true);
64 setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
65 initComponents();
66 }
67
68
69
70
71
72 public AircraftTypeEntryDialog(AircraftTypeBO type) {
73 delegate = (AircraftDelegate) SpringUtil.getApplicationContext().getBean(IServicesConstants.AIRCRAFT_DELEGATE);
74 setTitle("Pilot's Log - Edit Aircraft Type");
75 setModal(true);
76 setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
77 initComponents();
78 setAircraftType(type);
79 }
80
81
82
83
84
85 public void setAircraftType(AircraftTypeBO oValue) {
86 this.oAircraftType = oValue;
87 form.setAircraftType(this.oAircraftType);
88 }
89
90
91
92
93
94 public AircraftTypeBO getAircraftType() {
95 this.oAircraftType = form.getAircraftType();
96 return this.oAircraftType;
97 }
98
99
100
101
102 private void initComponents() {
103 form = new AircraftTypeEntryForm();
104 saveButton = new VectorButton();
105 saveButton.setBorderPainted(false);
106 saveButton.setForeground(new Color(50, 255, 0));
107 saveButton.setText(MessageResourceRegister.getInstance().getValue(MessageKey.BUTTON_SAVE));
108 saveButton.addActionListener(this);
109 cancelButton = new VectorButton();
110 cancelButton.setBorderPainted(false);
111 cancelButton.setForeground(new Color(50, 50, 255));
112 cancelButton.setText(MessageResourceRegister.getInstance().getValue(MessageKey.BUTTON_CANCEL));
113 cancelButton.addActionListener(this);
114 getContentPane().setLayout(new BorderLayout());
115
116 JPanel buttonPanel = new JPanel();
117 buttonPanel.setLayout(new GridBagLayout());
118 GridBagConstraints gridBagConstraints;
119 gridBagConstraints = new GridBagConstraints();
120 gridBagConstraints.gridx = 0;
121 gridBagConstraints.gridy = 1;
122 gridBagConstraints.anchor = GridBagConstraints.WEST;
123 buttonPanel.add(cancelButton, gridBagConstraints);
124
125 gridBagConstraints = new GridBagConstraints();
126 gridBagConstraints.gridx = 1;
127 gridBagConstraints.gridy = 1;
128 gridBagConstraints.fill = GridBagConstraints.HORIZONTAL;
129 gridBagConstraints.anchor = GridBagConstraints.WEST;
130 buttonPanel.add(saveButton, gridBagConstraints);
131
132 getContentPane().add(form, BorderLayout.CENTER);
133 getContentPane().add(buttonPanel, BorderLayout.SOUTH);
134 pack();
135 UIHelper.centerDialogToScreen(this);
136 }
137
138
139
140
141
142
143 public void actionPerformed(ActionEvent event) {
144 Object source = event.getSource();
145 if (source.equals(saveButton))
146 {
147 this.save();
148 if (this.parent instanceof AircraftTypeTableDisplayForm)
149 {
150 ((AircraftTypeTableDisplayForm) parent).refreshModel();
151 }
152 this.dispose();
153 }
154 if (source.equals(cancelButton))
155 {
156 form.reset();
157 this.dispose();
158 }
159 }
160
161 private void save() {
162 boolean success = delegate.saveAircraftType(this.getAircraftType());
163 if (success)
164 {
165 JOptionPane.showMessageDialog(null,"Successfully saved!","Save Type of Aircraft", JOptionPane.INFORMATION_MESSAGE);
166 }
167 else
168 {
169 JOptionPane.showMessageDialog(null, "Could not save data.", "Save Type of Aircraft", JOptionPane.ERROR_MESSAGE);
170 }
171 }
172 }