Hi,
ich habe Probleme meine Tabelle zu formatiern.
Ich würde gern die erste Spalte in der Breite begrenzen, da nur der index in der Spalte steht.
Die Tabelle wird mit Werten gefüllt, die ich aus einer Datenbank auslese.
Wie kann man denn die Breite der Spalten anpassen?
Danke
Robin
ich habe Probleme meine Tabelle zu formatiern.
Ich würde gern die erste Spalte in der Breite begrenzen, da nur der index in der Spalte steht.
Die Tabelle wird mit Werten gefüllt, die ich aus einer Datenbank auslese.
Code:
ResultSet rsSelect;
ResultSetMetaData rsmd;
int columnCount;
int rowCount;
// Select der Daten aus der Datenbank
try {
Statement select = connection.createStatement(); // SQL Statement erzeugen
rsSelect = select.executeQuery( "SELECT * FROM tabel;" );
rsmd = null;
columnCount = -1;
// auslesen aus DB
try {
rsmd = rsSelect.getMetaData();
columnCount = rsmd.getColumnCount();
// Prüfen, ob rsmd und columnCount Werte bekommen haben
if ( rsmd == null || columnCount == -1 ) throw new RuntimeException( "ResultSetMetaData is null" );
List list = new ArrayList();
while (rsSelect.next()) {
Object[] rowData = new Object[columnCount]; // Eindimensionales Objekt anlegen und die Anzahl der columns geben
for (int i = 1; i <= columnCount; i++) { // solange Strings lesen, wie columns da sind
rowData[i - 1] = rsSelect.getString(i); // Strings an eindimensionales Array rowData übergeben
}
list.add(rowData); // rowData der Liste hinzufügen
}
rsSelect.close(); // ResultSet schließen
oData = new Object[list.size()][columnCount];
for (int i = 0; i < oData.length; i++) {
oData[i] = (Object[]) list.get(i);
}
SwingUtilities.invokeLater( new Runnable() {
public void run() {
dtm.setDataVector( oData, columnHeaders );
}
});
}
catch (SQLException e) { e.printStackTrace(); }
select.close();
connection.close();
}
catch( SQLException sqle ){}
Wie kann man denn die Breite der Spalten anpassen?
Danke
Robin