📄 reservationtablemodel.java
字号:
package org.rapla.plugin.tableview;
import java.util.Date;
import java.util.Locale;
import javax.swing.table.DefaultTableModel;
import org.rapla.components.xmlbundle.I18nBundle;
import org.rapla.entities.domain.Appointment;
import org.rapla.entities.domain.Reservation;
public class ReservationTableModel extends DefaultTableModel
{
private static final long serialVersionUID = 1L;
Reservation[] reservations = new Reservation[] {};
Locale locale;
I18nBundle i18n;
//String[] columns;
public ReservationTableModel(Locale locale, I18nBundle i18n) {
this.locale = locale;
this.i18n = i18n;
String[]columns = new String[] {i18n.getString("name"),i18n.getString("start_date"),i18n.getString("last_changed")};
this.setColumnIdentifiers( columns);
}
public void setReservations(Reservation[] events) {
this.reservations = events;
super.fireTableDataChanged();
}
public Reservation getReservationAt(int row) {
return this.reservations[row];
}
public boolean isCellEditable(int row, int column) {
return false;
}
public int getRowCount() {
if ( reservations != null)
return reservations.length;
else
return 0;
}
public Date findStartDate(Reservation event) {
Appointment[] apps = event.getAppointments();
Date minimumDate = null;
for (int i=0;i< apps.length;i++) {
Appointment app = apps[i];
if ( minimumDate == null || app.getStart().before( minimumDate)) {
minimumDate = app.getStart();
}
}
return minimumDate;
}
public Object getValueAt( int rowIndex, int columnIndex )
{
Reservation event = reservations[rowIndex];
switch ( columnIndex )
{
case 0: return event.getName( locale);
case 1: return findStartDate( event );
case 2: return event.getLastChangeTime();
}
return event;
}
public Class getColumnClass(int columnIndex) {
switch ( columnIndex )
{
case 0: return String.class;
case 1: return Date.class;
case 2: return Date.class;
}
return super.getColumnClass( columnIndex );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -