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 + -
显示快捷键?