roomspanel.java

来自「The program is used for Classroom Schedu」· Java 代码 · 共 386 行 · 第 1/2 页

JAVA
386
字号

        jLabel2.setText("Room:");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.insets = new java.awt.Insets(6, 6, 0, 0);
        jPanel2.add(jLabel2, gridBagConstraints);

        jLabel3.setText("Capacity:");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 4;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.insets = new java.awt.Insets(6, 6, 0, 0);
        jPanel2.add(jLabel3, gridBagConstraints);

        jTextField1.setToolTipText("Usually a number, e.g., \"7\"");
        jTextField1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTextField1ActionPerformed(evt);
            }
        });

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 0;
        gridBagConstraints.gridwidth = 3;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.ipadx = 75;
        gridBagConstraints.insets = new java.awt.Insets(17, 6, 0, 18);
        jPanel2.add(jTextField1, gridBagConstraints);

        jTextField2.setToolTipText("Usually a number, e.g., \"122\"");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.gridwidth = 3;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.ipadx = 50;
        gridBagConstraints.insets = new java.awt.Insets(6, 6, 0, 18);
        jPanel2.add(jTextField2, gridBagConstraints);

        jTextField3.setToolTipText("Max # of students in this room");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 4;
        gridBagConstraints.gridwidth = 3;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.ipadx = 50;
        gridBagConstraints.insets = new java.awt.Insets(6, 6, 0, 18);
        jPanel2.add(jTextField3, gridBagConstraints);

        jButton2.setText("Add Room");
        jButton2.setToolTipText("Add this room to the list");
        jPanel4.add(jButton2);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridy = 11;
        gridBagConstraints.gridwidth = 6;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.insets = new java.awt.Insets(17, 0, 17, 0);
        jPanel2.add(jPanel4, gridBagConstraints);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 0;
        gridBagConstraints.insets = new java.awt.Insets(17, 17, 0, 17);
        add(jPanel2, gridBagConstraints);

    }//GEN-END:initComponents
    
    private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField1ActionPerformed
        // Add your handling code here:
    }//GEN-LAST:event_jTextField1ActionPerformed
    
    public void update(java.util.Observable observable, Object obj) {
        ptm.fireTableDataChanged();
    }
    
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable jTable1;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JTextField jTextField2;
    private javax.swing.JTextField jTextField3;
    // End of variables declaration//GEN-END:variables
    
    private RoomsPanelListener roomsPanelListener;
    private Schedule schedule = Schedule.getSchedule();
    private RoomsTableModel ptm;
    private TableSorter sorter;
    private TableColumn buildingColumn;
    private TableColumn roomColumn;
    private TableColumn capacityColumn;
    private JTextField editBuilding = new JTextField();
    private JTextField editRoom = new JTextField();
    private JTextField editCapacity = new JTextField();
    
    class RoomsPanelListener implements ActionListener {
        
        public void actionPerformed(ActionEvent e) {
            System.out.println("I hear " + "|"+e.getActionCommand()+"|");
            if (e.getActionCommand().equals("Add Room")){
                String  building = jTextField1.getText().trim();
                String  room = jTextField2.getText().trim();
                String capString = "";
                int capacity = 0;
                
                if (building.equals("") || room.equals(""))
                    return; // go back - do nothing not enough info
  
                if ( !((capString = jTextField3.getText().trim()).equals(""))){
                    try{
                        capacity = Integer.parseInt(capString);
                    }catch(NumberFormatException nfe){
                        // ignore the bad input and let the cap be 0
                    }
                }
                Classroom classroom = new Classroom(building, room, capacity);
                schedule.addClassroom(classroom); // add it to the schedule
                jTextField1.setText("");  // resert the fields to blank
                jTextField2.setText("");
                jTextField3.setText("");
            } else if (e.getActionCommand().equals("Delete Selected Room(s)")){
                System.out.println("I'm deleting a room over here");
                // Determine which items to be deleted
                int[] selected = jTable1.getSelectedRows();
                
                for (int i = selected.length - 1 ; i >= 0 ; i--) {
                    int realIndex = sorter.map(selected[i]);
                    // Removes the items from the list
                    schedule.removeClassroom((Classroom)
                    schedule.getClassrooms().get(realIndex));
                }
            }
        }
    } // end inner class
}


class RoomsTableModel extends AbstractTableModel {
    private Schedule schedule;
    
    final String[] columnNames = {
        "Building",
        "Room",
        "Capacity",
    };
    /** Creates a new instance of RoomsTableModel */
    public RoomsTableModel() {
        schedule = Schedule.getSchedule();
    }
    public int getColumnCount() {
        return columnNames.length;
    }
    public int getRowCount() {
        return schedule.getClassrooms().size();
    }
    public String getColumnName(int col) {
        return columnNames[col];
    }
    
    public Class getColumnClass(int c) {
        return " ".getClass();
    }
    public boolean isCellEditable(int row, int col) {
        return true;
    }
    public Object getValueAt(int row, int col) {
        Classroom classroom = (Classroom)schedule.getClassrooms().get(row);
        switch(col){
            case 0: return classroom.getBuilding();
            case 1: return classroom.getRoomName();
            case 2: return ""+classroom.getCapacity();
        }
        return ""; // should never do this
    }
    public void setValueAt(Object value, int row, int col) {
        //fireTableCellUpdated(row, col);
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?