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 menuDelete
= new javax
.swing
.JMenuItem();
57 jScrollPane1
= new javax
.swing
.JScrollPane();
58 tableNotices
= new javax
.swing
.JTable();
60 menuDescription
.setMnemonic('e');
61 menuDescription
.setText("Description...");
62 menuDescription
.addActionListener(new java
.awt
.event
.ActionListener() {
63 public void actionPerformed(java
.awt
.event
.ActionEvent evt
) {
64 menuDescriptionActionPerformed(evt
);
67 popMenu
.add(menuDescription
);
69 menuClarificationDetails
.setMnemonic('r');
70 menuClarificationDetails
.setText("Clarification Details...");
71 menuClarificationDetails
.addActionListener(new java
.awt
.event
.ActionListener() {
72 public void actionPerformed(java
.awt
.event
.ActionEvent evt
) {
73 menuClarificationDetailsActionPerformed(evt
);
76 popMenu
.add(menuClarificationDetails
);
78 menuDraftStatus
.setMnemonic('D');
79 menuDraftStatus
.setText("Draft Status...");
80 menuDraftStatus
.setToolTipText("");
81 menuDraftStatus
.addActionListener(new java
.awt
.event
.ActionListener() {
82 public void actionPerformed(java
.awt
.event
.ActionEvent evt
) {
83 menuDraftStatusActionPerformed(evt
);
86 popMenu
.add(menuDraftStatus
);
88 menuDispatchDetails
.setMnemonic('h');
89 menuDispatchDetails
.setText("Dispatch Details...");
90 menuDispatchDetails
.addActionListener(new java
.awt
.event
.ActionListener() {
91 public void actionPerformed(java
.awt
.event
.ActionEvent evt
) {
92 menuDispatchDetailsActionPerformed(evt
);
95 popMenu
.add(menuDispatchDetails
);
97 menuBillDetails
.setMnemonic('B');
98 menuBillDetails
.setText("Bill Details...");
99 menuBillDetails
.addActionListener(new java
.awt
.event
.ActionListener() {
100 public void actionPerformed(java
.awt
.event
.ActionEvent evt
) {
101 menuBillDetailsActionPerformed(evt
);
104 popMenu
.add(menuBillDetails
);
105 popMenu
.add(jSeparator1
);
107 menuDelete
.setText("Delete");
108 menuDelete
.addActionListener(new java
.awt
.event
.ActionListener() {
109 public void actionPerformed(java
.awt
.event
.ActionEvent evt
) {
110 menuDeleteActionPerformed(evt
);
113 popMenu
.add(menuDelete
);
115 setDefaultCloseOperation(javax
.swing
.WindowConstants
.DISPOSE_ON_CLOSE
);
116 setTitle("Manage Notices");
117 setLocationByPlatform(true);
119 tableNotices
.setModel(new javax
.swing
.table
.DefaultTableModel(
124 "id", "Reference Number", "Description"
127 Class
[] types
= new Class
[] {
128 java
.lang
.Integer
.class, java
.lang
.String
.class, java
.lang
.String
.class
130 boolean[] canEdit
= new boolean [] {
134 public Class
getColumnClass(int columnIndex
) {
135 return types
[columnIndex
];
138 public boolean isCellEditable(int rowIndex
, int columnIndex
) {
139 return canEdit
[columnIndex
];
142 tableNotices
.setSelectionMode(javax
.swing
.ListSelectionModel
.SINGLE_SELECTION
);
143 tableNotices
.setSelectionMode(javax
.swing
.ListSelectionModel
.SINGLE_SELECTION
);
144 jScrollPane1
.setViewportView(tableNotices
);
146 javax
.swing
.GroupLayout layout
= new javax
.swing
.GroupLayout(getContentPane());
147 getContentPane().setLayout(layout
);
148 layout
.setHorizontalGroup(
149 layout
.createParallelGroup(javax
.swing
.GroupLayout
.Alignment
.LEADING
)
150 .addComponent(jScrollPane1
, javax
.swing
.GroupLayout
.DEFAULT_SIZE
, 537, Short
.MAX_VALUE
)
152 layout
.setVerticalGroup(
153 layout
.createParallelGroup(javax
.swing
.GroupLayout
.Alignment
.LEADING
)
154 .addComponent(jScrollPane1
, javax
.swing
.GroupLayout
.DEFAULT_SIZE
, 317, Short
.MAX_VALUE
)
158 }// </editor-fold>//GEN-END:initComponents
160 private void menuDraftStatusActionPerformed(java
.awt
.event
.ActionEvent evt
) {//GEN-FIRST:event_menuDraftStatusActionPerformed
161 // TODO add your handling code here:
162 int selid
= getSelectedNotice ();
163 if (selid
== -1) return;
165 DraftStatusDialog frm
= new DraftStatusDialog((Frame
) this.getParent(), true);
166 ArrayList
<Object
> notice
= Utility
.getNoticeDetails (selid
);
167 if (notice
== null) return;
169 frm
.setFields(selid
, (boolean)notice
.get(4), (boolean)notice
.get(5));
170 frm
.setVisible(true);
172 }//GEN-LAST:event_menuDraftStatusActionPerformed
174 private void menuDescriptionActionPerformed(java
.awt
.event
.ActionEvent evt
) {//GEN-FIRST:event_menuDescriptionActionPerformed
175 // TODO add your handling code here:
176 int selid
= getSelectedNotice();
177 if (selid
== -1) return;
178 ArrayList
<Object
> notice
= Utility
.getNoticeDetails(selid
);
179 if (notice
== null) return;
181 DescriptionDialog frm
= new DescriptionDialog((Frame
)this.getParent(), true);
182 frm
.setFields(selid
, (String
)notice
.get(0), (String
)notice
.get(1), (Date
)notice
.get(2));
183 frm
.setVisible(true);
185 }//GEN-LAST:event_menuDescriptionActionPerformed
187 private void menuDispatchDetailsActionPerformed(java
.awt
.event
.ActionEvent evt
) {//GEN-FIRST:event_menuDispatchDetailsActionPerformed
188 // TODO add your handling code here:
189 int selid
= getSelectedNotice();
190 if (selid
== -1) return;
191 ArrayList
<Object
> notice
= Utility
.getNoticeDetails(selid
);
192 if (notice
== null) return;
194 DispatchDetailsDialog frm
= new DispatchDetailsDialog((Frame
) this.getParent(), true);
195 frm
.setFields (selid
, (boolean)notice
.get(6), (Date
)notice
.get(7),
196 (String
)notice
.get(8), (boolean) notice
.get(9),(Date
) notice
.get(10));
197 frm
.setVisible(true);
198 }//GEN-LAST:event_menuDispatchDetailsActionPerformed
200 private void menuBillDetailsActionPerformed(java
.awt
.event
.ActionEvent evt
) {//GEN-FIRST:event_menuBillDetailsActionPerformed
201 // TODO add your handling code here:
202 int selid
= getSelectedNotice();
203 if (selid
== -1) return;
204 ArrayList
<Object
> notice
= Utility
.getNoticeDetails(selid
);
205 if (notice
== null) return;
207 BillDetailsDialog frm
= new BillDetailsDialog((Frame
) this.getParent(),true);
208 frm
.setFields (selid
, (String
)notice
.get(11), (int)notice
.get(12), (Date
)notice
.get(13));
209 frm
.setVisible(true);
210 }//GEN-LAST:event_menuBillDetailsActionPerformed
212 private void menuClarificationDetailsActionPerformed(java
.awt
.event
.ActionEvent evt
) {//GEN-FIRST:event_menuClarificationDetailsActionPerformed
213 // TODO add your handling code here:
214 int selid
= getSelectedNotice();
215 if (selid
== -1) return;
216 ArrayList
<Object
> notice
= Utility
.getNoticeDetails(selid
);
217 if (notice
== null) return;
218 ClarificationDetailsDialog frm
= new ClarificationDetailsDialog(
219 (Frame
)this.getParent(), true);
221 frm
.setFields (selid
, (boolean)notice
.get(14), (String
)notice
.get(15));
222 frm
.setVisible(true);
223 }//GEN-LAST:event_menuClarificationDetailsActionPerformed
225 private void menuDeleteActionPerformed(java
.awt
.event
.ActionEvent evt
) {//GEN-FIRST:event_menuDeleteActionPerformed
226 int selid
= getSelectedNotice();
227 if (selid
== -1) return;
228 int conf
= JOptionPane
.showConfirmDialog((Frame
)this.getParent(), CONFIRM_DELETE
);
229 if (conf
== JOptionPane
.YES_OPTION
) {
230 boolean rt
= Utility
.deleteNotice (selid
);
232 JOptionPane
.showMessageDialog(this, ERROR_DELETING
);
236 }//GEN-LAST:event_menuDeleteActionPerformed
237 private static final String ERROR_DELETING
= "Error in deleting";
238 private static final String CONFIRM_DELETE
= "Are you sure you wish to delete?";
241 * @param args the command line arguments
243 public static void main(String args
[]) {
244 /* Set the Nimbus look and feel */
245 //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
246 /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
247 * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
250 for (javax
.swing
.UIManager
.LookAndFeelInfo info
: javax
.swing
.UIManager
.getInstalledLookAndFeels()) {
251 if ("Nimbus".equals(info
.getName())) {
252 javax
.swing
.UIManager
.setLookAndFeel(info
.getClassName());
256 } catch (ClassNotFoundException ex
) {
257 java
.util
.logging
.Logger
.getLogger(ManageNoticesDialog
.class.getName()).log(java
.util
.logging
.Level
.SEVERE
, null, ex
);
258 } catch (InstantiationException ex
) {
259 java
.util
.logging
.Logger
.getLogger(ManageNoticesDialog
.class.getName()).log(java
.util
.logging
.Level
.SEVERE
, null, ex
);
260 } catch (IllegalAccessException ex
) {
261 java
.util
.logging
.Logger
.getLogger(ManageNoticesDialog
.class.getName()).log(java
.util
.logging
.Level
.SEVERE
, null, ex
);
262 } catch (javax
.swing
.UnsupportedLookAndFeelException ex
) {
263 java
.util
.logging
.Logger
.getLogger(ManageNoticesDialog
.class.getName()).log(java
.util
.logging
.Level
.SEVERE
, null, ex
);
267 /* Create and display the dialog */
268 java
.awt
.EventQueue
.invokeLater(new Runnable() {
270 ManageNoticesDialog dialog
= new ManageNoticesDialog(new javax
.swing
.JFrame(), true);
271 dialog
.addWindowListener(new java
.awt
.event
.WindowAdapter() {
273 public void windowClosing(java
.awt
.event
.WindowEvent e
) {
277 dialog
.setVisible(true);
282 // Variables declaration - do not modify//GEN-BEGIN:variables
283 private javax
.swing
.JScrollPane jScrollPane1
;
284 private javax
.swing
.JSeparator jSeparator1
;
285 private javax
.swing
.JMenuItem menuBillDetails
;
286 private javax
.swing
.JMenuItem menuClarificationDetails
;
287 private javax
.swing
.JMenuItem menuDelete
;
288 private javax
.swing
.JMenuItem menuDescription
;
289 private javax
.swing
.JMenuItem menuDispatchDetails
;
290 private javax
.swing
.JMenuItem menuDraftStatus
;
291 private javax
.swing
.JPopupMenu popMenu
;
292 private javax
.swing
.JTable tableNotices
;
293 // End of variables declaration//GEN-END:variables
295 private void populateNotices() {
296 DefaultTableModel mdl
= (DefaultTableModel
) tableNotices
.getModel ();
298 ArrayList
<Object
> notices
= Utility
.getNotices ();
299 if (notices
== null) return;
300 for (int i
= 0; i
< notices
.size(); i
+= 3) {
301 mdl
.addRow (new Object
[] { notices
.get(i
), notices
.get(i
+1),
306 private int getSelectedNotice() {
307 int selid
= tableNotices
.getSelectedRow();
310 DefaultTableModel mdl
= (DefaultTableModel
) tableNotices
.getModel();
311 int rkey
= (int) mdl
.getValueAt(selid
, 0);