Changeset 135 in tmcsimulator for trunk/src/tmcsim/client/ATMSBatchViewer.java
- Timestamp:
- 10/17/2017 05:10:07 PM (9 years ago)
- File:
-
- 1 edited
-
trunk/src/tmcsim/client/ATMSBatchViewer.java (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/tmcsim/client/ATMSBatchViewer.java
r128 r135 1 /* 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. 5 */ 1 6 2 package tmcsim.client; 7 3 4 import java.util.ArrayList; 5 import java.util.HashSet; 8 6 import java.util.LinkedList; 7 import java.util.List; 9 8 import java.util.Queue; 9 import java.util.Set; 10 10 import java.util.Vector; 11 11 import javax.swing.AbstractListModel; 12 import javax.swing.JLabel; 12 13 import javax.swing.JList; 14 import javax.swing.JOptionPane; 13 15 14 16 /** … … 18 20 public class ATMSBatchViewer extends javax.swing.JFrame 19 21 { 22 /** Reference to the driver associated with this GUI */ 23 private ATMSBatchDriver driver; 24 private final List<String> incidents; 20 25 /** 21 * Creates new form ATMSBatchViewer 26 * Creates new form ATMSBatchViewer. 27 * @param incidents a list of incidents to show in a list. 22 28 */ 23 public ATMSBatchViewer( )29 public ATMSBatchViewer(ATMSBatchDriver driver, List<String> incidentList) 24 30 { 25 31 initComponents(); 32 this.driver = driver; 33 this.incidents = incidentList; 34 lstIncidents.setModel(new javax.swing.AbstractListModel<String>() 35 { 36 public int getSize() { return incidents.size(); } 37 public String getElementAt(int i) { return incidents.get(i); } 38 }); 26 39 } 27 40 … … 48 61 @SuppressWarnings("unchecked") 49 62 // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents 50 private void initComponents() { 63 private void initComponents() 64 { 51 65 52 66 pnlEvents = new javax.swing.JPanel(); … … 54 68 lstEvents = new javax.swing.JList<>(); 55 69 txtClockTime = new javax.swing.JLabel(); 70 pnlIncidents = new javax.swing.JPanel(); 71 btnClear = new javax.swing.JButton(); 72 jScrollPane1 = new javax.swing.JScrollPane(); 73 lstIncidents = new javax.swing.JList<>(); 56 74 57 75 setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 58 76 59 77 lstEvents.setFont(new java.awt.Font("Noto Mono", 0, 12)); // NOI18N 60 lstEvents.setModel(new javax.swing.AbstractListModel<String>() { 78 lstEvents.setModel(new javax.swing.AbstractListModel<String>() 79 { 61 80 String[] strings = { "item 1", "item 2" }; 62 81 public int getSize() { return strings.length; } … … 73 92 pnlEventsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 74 93 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlEventsLayout.createSequentialGroup() 75 .addContainerGap( 83, Short.MAX_VALUE)94 .addContainerGap(74, Short.MAX_VALUE) 76 95 .addComponent(scrollEvents, javax.swing.GroupLayout.PREFERRED_SIZE, 354, javax.swing.GroupLayout.PREFERRED_SIZE) 77 96 .addGap(59, 59, 59)) … … 90 109 ); 91 110 111 btnClear.setText("Clear Incident"); 112 btnClear.addActionListener(new java.awt.event.ActionListener() 113 { 114 public void actionPerformed(java.awt.event.ActionEvent evt) 115 { 116 btnClearActionPerformed(evt); 117 } 118 }); 119 120 lstIncidents.setFont(new java.awt.Font("Noto Mono", 0, 15)); // NOI18N 121 lstIncidents.setModel(new javax.swing.AbstractListModel<String>() 122 { 123 String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" }; 124 public int getSize() { return strings.length; } 125 public String getElementAt(int i) { return strings[i]; } 126 }); 127 lstIncidents.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION); 128 jScrollPane1.setViewportView(lstIncidents); 129 130 javax.swing.GroupLayout pnlIncidentsLayout = new javax.swing.GroupLayout(pnlIncidents); 131 pnlIncidents.setLayout(pnlIncidentsLayout); 132 pnlIncidentsLayout.setHorizontalGroup( 133 pnlIncidentsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 134 .addGroup(pnlIncidentsLayout.createSequentialGroup() 135 .addGroup(pnlIncidentsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 136 .addComponent(btnClear) 137 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 211, javax.swing.GroupLayout.PREFERRED_SIZE)) 138 .addGap(0, 173, Short.MAX_VALUE)) 139 ); 140 pnlIncidentsLayout.setVerticalGroup( 141 pnlIncidentsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 142 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlIncidentsLayout.createSequentialGroup() 143 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 179, javax.swing.GroupLayout.PREFERRED_SIZE) 144 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 145 .addComponent(btnClear) 146 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 147 ); 148 92 149 javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 93 150 getContentPane().setLayout(layout); … … 97 154 .addComponent(pnlEvents, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 98 155 .addContainerGap()) 156 .addGroup(layout.createSequentialGroup() 157 .addGap(76, 76, 76) 158 .addComponent(pnlIncidents, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 159 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 99 160 ); 100 161 layout.setVerticalGroup( … … 102 163 .addGroup(layout.createSequentialGroup() 103 164 .addComponent(pnlEvents, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 104 .addGap(0, 129, Short.MAX_VALUE)) 165 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 166 .addComponent(pnlIncidents, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 167 .addContainerGap()) 105 168 ); 106 169 107 170 pack(); 108 171 }// </editor-fold>//GEN-END:initComponents 172 173 private void btnClearActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnClearActionPerformed 174 {//GEN-HEADEREND:event_btnClearActionPerformed 175 String selectedItem = lstIncidents.getSelectedValue(); 176 if (selectedItem == null) 177 { 178 JOptionPane.showMessageDialog(this, "No Incident Selected", "Warning", JOptionPane.INFORMATION_MESSAGE); 179 } 180 else 181 { 182 System.out.println("Clicked Incident:" + selectedItem); 183 if (driver != null) driver.clearIncident(selectedItem); 184 lstIncidents.clearSelection(); 185 // Remove selectedItem from list model; 186 incidents.remove(selectedItem); 187 // Update the list displayed 188 String[] array = new String[incidents.size()]; 189 array = incidents.toArray(array); 190 lstIncidents.setListData(array); 191 } 192 }//GEN-LAST:event_btnClearActionPerformed 109 193 110 194 /** … … 141 225 sample.add("Greetings"); 142 226 sample.add("Earthling"); 143 ATMSBatchViewer view = new ATMSBatchViewer(); 227 List<String> items = new ArrayList<String>(); 228 items.add("Able"); items.add("Baker"); 229 ATMSBatchViewer view = new ATMSBatchViewer(null,items); 144 230 view.setVisible(true); 145 231 view.update("01", sample); … … 150 236 151 237 // Variables declaration - do not modify//GEN-BEGIN:variables 238 private javax.swing.JButton btnClear; 239 private javax.swing.JScrollPane jScrollPane1; 152 240 private javax.swing.JList<String> lstEvents; 241 private javax.swing.JList<String> lstIncidents; 153 242 private javax.swing.JPanel pnlEvents; 243 private javax.swing.JPanel pnlIncidents; 154 244 private javax.swing.JScrollPane scrollEvents; 155 245 private javax.swing.JLabel txtClockTime;
Note: See TracChangeset
for help on using the changeset viewer.
