Hallo zusammen
Ich habe folgendes Problem, bei mir aktualisiert sich die Tabelle nicht. Ich weise die Methode getColumn() für jeden Monat einen neuen Wert zu. Ich möchte dann jeweils das sich die Tabelle anpasst, das heisst für Monat Januar = 31 Kolonnen etc. Leider funktioniert das refreshen bzw. das repainten nicht. Kann mir zum folgenden Problem jemand helfen?
Ich sende Euch mal meinen Code des TableModels zu:
Ich danke Euch allen für Eure Hilfe...
Cheers
Swingi
Ich habe folgendes Problem, bei mir aktualisiert sich die Tabelle nicht. Ich weise die Methode getColumn() für jeden Monat einen neuen Wert zu. Ich möchte dann jeweils das sich die Tabelle anpasst, das heisst für Monat Januar = 31 Kolonnen etc. Leider funktioniert das refreshen bzw. das repainten nicht. Kann mir zum folgenden Problem jemand helfen?
Ich sende Euch mal meinen Code des TableModels zu:
Code:
package ch.essec.sherin;
import java.awt.event.ItemEvent;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.AbstractTableModel;
public class ReservationSurfaceTableModel extends AbstractTableModel implements TableModelListener {
private Connection connection;
private String roomZaehlerString;
private int roomIDZaehler = 1;
private ResultSet rs;
private ArrayList arrayListe = new ArrayList();
private String month;
private int ret;
private int yearAbklaren;
public ReservationSurfaceTableModel(String month) {
this.month = month;
if (this.month == null)
this.month = "January 06";
System.out.println(this.month);
}
private void getNumberOfRooms() throws SQLException {
DBManagement bookingDB = new DBManagement();
bookingDB.initDBConnection();
connection = (Connection) bookingDB.getConnection();
//Hole Räume
Statement determineRooms = connection.createStatement();
roomZaehlerString = "SELECT COUNT(`roomID`) AS ANZAHL FROM room";
ResultSet rs = determineRooms.executeQuery(roomZaehlerString);
while (rs.next()) {
roomIDZaehler = rs.getInt(1);
}
determineRooms.close();
}
public void getColumnName() {
getNumberandNameOfDays();
}
private void getNumberandNameOfDays() {
}
public int getColumnCount() {
ret = 1;
if (month.equals ("null") || month.startsWith ("January") || month.startsWith ("March") || month.startsWith("May") || month.startsWith("July") || month.startsWith("August") || month.startsWith("October") || month.startsWith("December"))
ret = 32;
else
if (month.startsWith("April") || month.startsWith("June") || month.startsWith("September") || month.startsWith("November"))
ret = 31;
else
if (month.startsWith("February"))
SchaltjahrAbklaeren();
else
ret = 32;
return ret;
}
public int getRowCount() {
try {
getNumberOfRooms();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return roomIDZaehler;
}
public Object getValueAt(int rowIndex, int columnIndex) {
// TODO Auto-generated method stub
return null;
}
public void SchaltjahrAbklaeren() {
int yearCounter = 06;
String createString = "February 06";
while (createString != month) {
++yearCounter;
createString = "February" + yearCounter;
}
yearAbklaren = 2000 + yearCounter;
// Schaltjahr abklären
if (yearAbklaren == 0) {
System.out.println("Es gibt kein Jahr 0!");
} else {
if (yearAbklaren % 4 == 0) {
if (yearAbklaren % 100 == 0) {
if (yearAbklaren % 400 == 0) {
ret = 15;
} else {
ret = 14;
}
} else {
ret = 15;
}
} else {
ret = 14;
}
}
}
public void tableChanged(TableModelEvent arg0) {
getColumnCount();
}
}
Ich danke Euch allen für Eure Hilfe...
Cheers
Swingi