2 * To change this license header, choose License Headers in Project Properties.
3 * To change this template file, choose Tools | Templates
4 * and open the template in the editor.
9 import java
.awt
.event
.MouseAdapter
;
10 import java
.awt
.event
.MouseEvent
;
11 import java
.util
.ArrayList
;
12 import java
.util
.Date
;
13 import javax
.swing
.JOptionPane
;
14 import javax
.swing
.table
.DefaultTableModel
;
20 public class ManageNoticesDialog
extends javax
.swing
.JDialog
{
23 * Creates new form ManageNoticesDialog
25 public ManageNoticesDialog(java
.awt
.Frame parent
, boolean modal
) {
29 tableNotices
.addMouseListener(new MouseAdapter() {
31 public void mousePressed(MouseEvent arg0
) {
32 if (arg0
.isPopupTrigger()) {
33 popMenu
.show(arg0
.getComponent(), arg0
.getX(), arg0
.getY());
41 * This method is called from within the constructor to initialize the form.
42 * WARNING: Do NOT modify this code. The content of this method is always
43 * regenerated by the Form Editor.
45 @SuppressWarnings("unchecked")
46 // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
47 private void initComponents() {
49 popMenu
= new javax
.swing
.JPopupMenu();
50 menuDescription
= new javax
.swing
.JMenuItem();
51 menuClarificationDetails
= new javax
.swing
.JMenuItem();
52 menuDraftStatus
= new javax
.swing
.JMenuItem();
53 menuDispatchDetails
= new javax
.swing
.JMenuItem();
54 menuBillDetails
= new javax
.swing
.JMenuItem();
55 jSeparator1
= new javax
.swing
.JPopupMenu
.Separator();
56 menuView
= new javax
.swing
.JMenuItem();
57 menuDelete
= new javax
.swing
.JMenuItem();
58 jScrollPane1
= new javax
.swing
.JScrollPane();
59 tableNotices
= new javax
.swing
.JTable();
61 menuDescription
.setMnemonic('e');
62 menuDescription
.setText("Description...");
63 menuDescription
.addActionListener(new java
.awt
.event
.ActionListener() {
64 public void actionPerformed(java
.awt
.event
.ActionEvent evt
) {
65 menuDescriptionActionPerformed(evt
);
68 popMenu
.add(menuDescription
);
70 menuClarificationDetails
.setMnemonic('r');
71 menuClarificationDetails
.setText("Clarification Details...");
72 menuClarificationDetails
.addActionListener(new java
.awt
.event
.ActionListener() {
73 public void actionPerformed(java
.awt
.event
.ActionEvent evt
) {
74 menuClarificationDetailsActionPerformed(evt
);
77 popMenu
.add(menuClarificationDetails
);
79 menuDraftStatus
.setMnemonic('D');
80 menuDraftStatus
.setText("Draft Status...");
81 menuDraftStatus
.setToolTipText("");
82 menuDraftStatus
.addActionListener(new java
.awt
.event
.ActionListener() {
83 public void actionPerformed(java
.awt
.event
.ActionEvent evt
) {
84 menuDraftStatusActionPerformed(evt
);
87 popMenu
.add(menuDraftStatus
);
89 menuDispatchDetails
.setMnemonic('h');
90 menuDispatchDetails
.setText("Dispatch Details...");
91 menuDispatchDetails
.addActionListener(new java
.awt
.event
.ActionListener() {
92 public void actionPerformed(java
.awt
.event
.ActionEvent evt
) {
93 menuDispatchDetailsActionPerformed(evt
);
96 popMenu
.add(menuDispatchDetails
);
98 menuBillDetails
.setMnemonic('B');
99 menuBillDetails
.setText("Bill Details...");
100 menuBillDetails
.addActionListener(new java
.awt
.event
.ActionListener() {
101 public void actionPerformed(java
.awt
.event
.ActionEvent evt
) {
102 menuBillDetailsActionPerformed(evt
);
105 popMenu
.add(menuBillDetails
);
106 popMenu
.add(jSeparator1
);
108 menuView
.setMnemonic('V');
109 menuView
.setText("View...");
110 menuView
.addActionListener(new java
.awt
.event
.ActionListener() {
111 public void actionPerformed(java
.awt
.event
.ActionEvent evt
) {
112 menuViewActionPerformed(evt
);
115 popMenu
.add(menuView
);
117 menuDelete
.setText("Delete");
118 menuDelete
.addActionListener(new java
.awt
.event
.ActionListener() {
119 public void actionPerformed(java
.awt
.event
.ActionEvent evt
) {
120 menuDeleteActionPerformed(evt
);
123 popMenu
.add(menuDelete
);
125 setDefaultCloseOperation(javax
.swing
.WindowConstants
.DISPOSE_ON_CLOSE
);
126 setTitle("Manage Notices");
127 setLocationByPlatform(true);
129 tableNotices
.setModel(new javax
.swing
.table
.DefaultTableModel(
134 "id", "Reference Number", "Description"
137 Class
[] types
= new Class
[] {
138 java
.lang
.Integer
.class, java
.lang
.String
.class, java
.lang
.String
.class
140 boolean[] canEdit
= new boolean [] {
144 public Class
getColumnClass(int columnIndex
) {
145 return types
[columnIndex
];
148 public boolean isCellEditable(int rowIndex
, int columnIndex
) {
149 return canEdit
[columnIndex
];
152 tableNotices
.setSelectionMode(javax
.swing
.ListSelectionModel
.SINGLE_SELECTION
);
153 tableNotices
.setSelectionMode(javax
.swing
.ListSelectionModel
.SINGLE_SELECTION
);
154 jScrollPane1
.setViewportView(tableNotices
);
156 javax
.swing
.GroupLayout layout
= new javax
.swing
.GroupLayout(getContentPane());
157 getContentPane().setLayout(layout
);
158 layout
.setHorizontalGroup(
159 layout
.createParallelGroup(javax
.swing
.GroupLayout
.Alignment
.LEADING
)
160 .addComponent(jScrollPane1
, javax
.swing
.GroupLayout
.DEFAULT_SIZE
, 537, Short
.MAX_VALUE
)
162 layout
.setVerticalGroup(
163 layout
.createParallelGroup(javax
.swing
.GroupLayout
.Alignment
.LEADING
)
164 .addComponent(jScrollPane1
, javax
.swing
.GroupLayout
.DEFAULT_SIZE
, 317, Short
.MAX_VALUE
)
168 }// </editor-fold>//GEN-END:initComponents
170 private void menuDraftStatusActionPerformed(java
.awt
.event
.ActionEvent evt
) {//GEN-FIRST:event_menuDraftStatusActionPerformed
171 // TODO add your handling code here:
172 int selid
= getSelectedNotice ();
173 if (selid
== -1) return;
175 DraftStatusDialog frm
= new DraftStatusDialog((Frame
) this.getParent(), true);
176 ArrayList
<Object
> notice
= Utility
.getNoticeDetails (selid
);
177 if (notice
== null) return;
179 frm
.setFields(selid
, (boolean)notice
.get(4), (boolean)notice
.get(5));
180 frm
.setVisible(true);
182 }//GEN-LAST:event_menuDraftStatusActionPerformed
184 private void menuDescriptionActionPerformed(java
.awt
.event
.ActionEvent evt
) {//GEN-FIRST:event_menuDescriptionActionPerformed
185 // TODO add your handling code here:
186 int selid
= getSelectedNotice();
187 if (selid
== -1) return;
188 ArrayList
<Object
> notice
= Utility
.getNoticeDetails(selid
);
189 if (notice
== null) return;
191 DescriptionDialog frm
= new DescriptionDialog((Frame
)this.getParent(), true);
192 frm
.setFields(selid
, (String
)notice
.get(0), (String
)notice
.get(1), (Date
)notice
.get(2));
193 frm
.setVisible(true);
195 }//GEN-LAST:event_menuDescriptionActionPerformed
197 private void menuDispatchDetailsActionPerformed(java
.awt
.event
.ActionEvent evt
) {//GEN-FIRST:event_menuDispatchDetailsActionPerformed
198 // TODO add your handling code here:
199 int selid
= getSelectedNotice();
200 if (selid
== -1) return;
201 ArrayList
<Object
> notice
= Utility
.getNoticeDetails(selid
);
202 if (notice
== null) return;
204 DispatchDetailsDialog frm
= new DispatchDetailsDialog((Frame
) this.getParent(), true);
205 frm
.setFields (selid
, (boolean)notice
.get(6), (Date
)notice
.get(7),
206 (String
)notice
.get(8), (boolean) notice
.get(9),(Date
) notice
.get(10));
207 frm
.setVisible(true);
208 }//GEN-LAST:event_menuDispatchDetailsActionPerformed
210 private void menuBillDetailsActionPerformed(java
.awt
.event
.ActionEvent evt
) {//GEN-FIRST:event_menuBillDetailsActionPerformed
211 // TODO add your handling code here:
212 int selid
= getSelectedNotice();
213 if (selid
== -1) return;
214 ArrayList
<Object
> notice
= Utility
.getNoticeDetails(selid
);
215 if (notice
== null) return;
217 BillDetailsDialog frm
= new BillDetailsDialog((Frame
) this.getParent(),true);
218 frm
.setFields (selid
, (String
)notice
.get(11), (int)notice
.get(12), (Date
)notice
.get(13));
219 frm
.setVisible(true);
220 }//GEN-LAST:event_menuBillDetailsActionPerformed
222 private void menuClarificationDetailsActionPerformed(java
.awt
.event
.ActionEvent evt
) {//GEN-FIRST:event_menuClarificationDetailsActionPerformed
223 // TODO add your handling code here:
224 int selid
= getSelectedNotice();
225 if (selid
== -1) return;
226 ArrayList
<Object
> notice
= Utility
.getNoticeDetails(selid
);
227 if (notice
== null) return;
228 ClarificationDetailsDialog frm
= new ClarificationDetailsDialog(
229 (Frame
)this.getParent(), true);
231 frm
.setFields (selid
, (boolean)notice
.get(14), (String
)notice
.get(15));
232 frm
.setVisible(true);
233 }//GEN-LAST:event_menuClarificationDetailsActionPerformed
235 private void menuDeleteActionPerformed(java
.awt
.event
.ActionEvent evt
) {//GEN-FIRST:event_menuDeleteActionPerformed
236 int selid
= getSelectedNotice();
237 if (selid
== -1) return;
238 int conf
= JOptionPane
.showConfirmDialog((Frame
)this.getParent(), CONFIRM_DELETE
);
239 if (conf
== JOptionPane
.YES_OPTION
) {
240 boolean rt
= Utility
.deleteNotice (selid
);
242 JOptionPane
.showMessageDialog(this, ERROR_DELETING
);
246 }//GEN-LAST:event_menuDeleteActionPerformed
248 private void menuViewActionPerformed(java
.awt
.event
.ActionEvent evt
) {//GEN-FIRST:event_menuViewActionPerformed
249 // TODO add your handling code here:
250 int selid
= getSelectedNotice();
251 if (selid
== -1) return;
252 ArrayList
<Object
> notice
= Utility
.getNoticeDetails(selid
);
253 if (notice
== null) return;
255 ViewNoticeDialog frm
= new ViewNoticeDialog(
256 (Frame
)this.getParent(), true);
257 frm
.setFields (selid
, (String
)notice
.get(0),
258 (String
)notice
.get(1), (Date
)notice
.get(2),
259 (String
)notice
.get(16), (boolean)notice
.get(4),
260 (boolean)notice
.get(5), (boolean)notice
.get(6),
261 (Date
)notice
.get(7), (String
)notice
.get(8),
262 (boolean)notice
.get(9), (Date
)notice
.get(10),
263 (String
)notice
.get(11), (int)notice
.get(12),
264 (Date
)notice
.get(13), (boolean)notice
.get(14),
265 (String
)notice
.get(15));
266 frm
.setVisible(true);
269 }//GEN-LAST:event_menuViewActionPerformed
270 private static final String ERROR_DELETING
= "Error in deleting";
271 private static final String CONFIRM_DELETE
= "Are you sure you wish to delete?";
274 * @param args the command line arguments
276 public static void main(String args
[]) {
277 /* Set the Nimbus look and feel */
278 //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
279 /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
280 * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
283 for (javax
.swing
.UIManager
.LookAndFeelInfo info
: javax
.swing
.UIManager
.getInstalledLookAndFeels()) {
284 if ("Nimbus".equals(info
.getName())) {
285 javax
.swing
.UIManager
.setLookAndFeel(info
.getClassName());
289 } catch (ClassNotFoundException ex
) {
290 java
.util
.logging
.Logger
.getLogger(ManageNoticesDialog
.class.getName()).log(java
.util
.logging
.Level
.SEVERE
, null, ex
);
291 } catch (InstantiationException ex
) {
292 java
.util
.logging
.Logger
.getLogger(ManageNoticesDialog
.class.getName()).log(java
.util
.logging
.Level
.SEVERE
, null, ex
);
293 } catch (IllegalAccessException ex
) {
294 java
.util
.logging
.Logger
.getLogger(ManageNoticesDialog
.class.getName()).log(java
.util
.logging
.Level
.SEVERE
, null, ex
);
295 } catch (javax
.swing
.UnsupportedLookAndFeelException ex
) {
296 java
.util
.logging
.Logger
.getLogger(ManageNoticesDialog
.class.getName()).log(java
.util
.logging
.Level
.SEVERE
, null, ex
);
300 /* Create and display the dialog */
301 java
.awt
.EventQueue
.invokeLater(new Runnable() {
303 ManageNoticesDialog dialog
= new ManageNoticesDialog(new javax
.swing
.JFrame(), true);
304 dialog
.addWindowListener(new java
.awt
.event
.WindowAdapter() {
306 public void windowClosing(java
.awt
.event
.WindowEvent e
) {
310 dialog
.setVisible(true);
315 // Variables declaration - do not modify//GEN-BEGIN:variables
316 private javax
.swing
.JScrollPane jScrollPane1
;
317 private javax
.swing
.JSeparator jSeparator1
;
318 private javax
.swing
.JMenuItem menuBillDetails
;
319 private javax
.swing
.JMenuItem menuClarificationDetails
;
320 private javax
.swing
.JMenuItem menuDelete
;
321 private javax
.swing
.JMenuItem menuDescription
;
322 private javax
.swing
.JMenuItem menuDispatchDetails
;
323 private javax
.swing
.JMenuItem menuDraftStatus
;
324 private javax
.swing
.JMenuItem menuView
;
325 private javax
.swing
.JPopupMenu popMenu
;
326 private javax
.swing
.JTable tableNotices
;
327 // End of variables declaration//GEN-END:variables
329 private void populateNotices() {
330 DefaultTableModel mdl
= (DefaultTableModel
) tableNotices
.getModel ();
332 ArrayList
<Object
> notices
= Utility
.getNotices ();
333 if (notices
== null) return;
334 for (int i
= 0; i
< notices
.size(); i
+= 3) {
335 mdl
.addRow (new Object
[] { notices
.get(i
), notices
.get(i
+1),
340 private int getSelectedNotice() {
341 int selid
= tableNotices
.getSelectedRow();
344 DefaultTableModel mdl
= (DefaultTableModel
) tableNotices
.getModel();
345 int rkey
= (int) mdl
.getValueAt(selid
, 0);