Hallo an Alle,
ich hab mir das mit dem ColumnModel jetzt endlich angeschaut um die Breite von Spalten ändern zu können,
leider geht das so nicht es gibt zumindest keine fehlermeldungen, aber es bleibt immer gleich egal
welche Breite ich setze Will mir wer helfen
lg Fridolin
ich hab mir das mit dem ColumnModel jetzt endlich angeschaut um die Breite von Spalten ändern zu können,
leider geht das so nicht es gibt zumindest keine fehlermeldungen, aber es bleibt immer gleich egal
welche Breite ich setze Will mir wer helfen
lg Fridolin
Code:
try
{
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
}
catch( ClassNotFoundException event )
{
System.out.println ( "Fehler bei ODBC-JDBC Treiber Initialisierung" + event );
return;
}
Connection con02 = null;
Statement stmt02;
ResultSet rSet02 = null;
String sqlQuery02 = "SELECT * FROM Film ORDER BY ID ASC;";
try
{
con02 = DriverManager.getConnection( url,"User","Password" );
stmt02 = con02.createStatement();
rSet02 = stmt02.executeQuery( sqlQuery02 );
ResultSetMetaData metadata = rSet02.getMetaData();
numberOfColumns = metadata.getColumnCount();
rows = new Vector();
spalten = new Vector();
while( rSet02.next() )
{
newrow = new Vector();
for(int s = 1; s <= metadata.getColumnCount(); s++)
{
newrow.addElement(rSet02.getObject(s));
}
rows.addElement(newrow);
}
for (int column = 0; column < numberOfColumns; column++)
{
spalten.addElement(metadata.getColumnLabel(column + 1));
}
rSet02.close();
stmt02.close();
model = new DefaultTableModel(rows, spalten)
{
public boolean isCellEditable(int row, int col)
{
return false;
}
};
table = new JTable();
table.setBounds(30,105,540,150);
table.setRowHeight(20);
table.setRowMargin(0);
table.setShowHorizontalLines(true);
table.setShowVerticalLines(true);
table.setGridColor(Color.black);
table.setSelectionForeground(Color.white);
table.setRowSelectionAllowed(true);
table.setColumnSelectionAllowed(false);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
table.getTableHeader().setReorderingAllowed(false);
<<< Das ist die Zeile in der ich versuche die Breite jeder Spalte auf 135 Pixel zu setzen >>>
<<< ohne Casten in ein Tabellenmodel gehts auch nicht ------------------------------------->>>
for(int i = 0; i == 3; i++)
{
TableColumn col = table.getColumnModel().getColumn(i);
width = 135;
col.setMinWidth(95);
col.setMaxWidth(135);
col.setPreferredWidth(width);
}
<<<------------------------------------------------------------------------------------------------->>>
table.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
table.addMouseListener(new Mausklasse());
table.setModel(model);
ziehen = new JScrollPane(table);
ziehen.setBounds(30,105,540,150);
ziehen.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
ziehen.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
panel.add(ziehen);
}
catch( SQLException event)
{
System.out.println( "Fehler bei Tabellenabfrage " + event);
return;
}
finally
{
try
{
if ( con02 != null )
{
con02.close();
}
}
catch ( SQLException event ) {}
}