/* * Cooperative Systems */ /* * StorageAgentGUI.java * * Created on Jun 30, 2010, 4:27:27 PM */ package src.coop; import java.util.List; import javax.swing.DefaultListModel; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel; /** * * @author mru */ public class StorageAgentGUI extends javax.swing.JFrame { private DefaultListModel log = new DefaultListModel(); /** Creates new form StorageAgentGUI */ public StorageAgentGUI() { initComponents(); } public void addLog(String msg) { log.addElement(msg); if (log.size() > 1000) { log.removeElementAt(0); } } public void setStorageCount(String item, int count) { DefaultTableModel m = (DefaultTableModel) jTableStorage.getModel(); int foundRow = -1; for (int i = 0; i < m.getRowCount(); i++) { String o = (String) m.getValueAt(i, 0); if (o.equals(item)) { foundRow = i; break; } } if (foundRow == -1) { m.addRow(new Object[]{item, count}); } else { m.setValueAt(count, foundRow, 1); } } public void setRequestedCount(String item, int count) { DefaultTableModel m = (DefaultTableModel) jTableQueue.getModel(); int foundRow = -1; for (int i = 0; i < m.getRowCount(); i++) { String o = (String) m.getValueAt(i, 0); if (o.equals(item)) { foundRow = i; break; } } if (foundRow == -1) { m.addRow(new Object[]{item, count}); } else { m.setValueAt(count, foundRow, 1); } } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { jScrollPane2 = new javax.swing.JScrollPane(); jTableStorage = new javax.swing.JTable(); jScrollPane1 = new javax.swing.JScrollPane(); jTableQueue = new javax.swing.JTable(); jScrollPane3 = new javax.swing.JScrollPane(); jListLog = new javax.swing.JList(); setTitle("Storeage Overview"); jTableStorage.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { }, new String [] { "Item", "In Storage" } ) { Class[] types = new Class [] { java.lang.String.class, java.lang.Integer.class }; boolean[] canEdit = new boolean [] { false, false }; public Class getColumnClass(int columnIndex) { return types [columnIndex]; } public boolean isCellEditable(int rowIndex, int columnIndex) { return canEdit [columnIndex]; } }); jScrollPane2.setViewportView(jTableStorage); jTableQueue.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { }, new String [] { "Item", "Requested" } ) { Class[] types = new Class [] { java.lang.String.class, java.lang.Integer.class }; boolean[] canEdit = new boolean [] { false, false }; public Class getColumnClass(int columnIndex) { return types [columnIndex]; } public boolean isCellEditable(int rowIndex, int columnIndex) { return canEdit [columnIndex]; } }); jScrollPane1.setViewportView(jTableQueue); jListLog.setModel(log); jListLog.setDoubleBuffered(true); jScrollPane3.setViewportView(jListLog); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 630, Short.MAX_VALUE) .addGroup(layout.createSequentialGroup() .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 321, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 303, Short.MAX_VALUE))) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap() .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 226, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 275, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 275, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap()) ); pack(); }// </editor-fold>//GEN-END:initComponents /** * @param args the command line arguments */ public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new StorageAgentGUI().setVisible(true); } }); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JList jListLog; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JScrollPane jScrollPane3; private javax.swing.JTable jTableQueue; private javax.swing.JTable jTableStorage; // End of variables declaration//GEN-END:variables }