Hej,
Mam sobie taki panel:
Dane w tabeli są pobierane przy odpalaniu całego okna z bazy SQL. Chciałbym jednak, by kolumny miały np. określoną startową wartość i jeżeli zawartość w wierszach jest większa, to żeby zaczął działać JScrollPane i pojawił się suwak horyzontalny.
To jest kod, którym pakuję dane do tabeli i którym w gruncie rzeczy maluję tabelkę:
table = new JTable();
table.setFont(new Font("Dialog", Font.PLAIN, 11));
scrollPane.setViewportView(table);
// TODO: Populate table with data from SQL database
String sql = "SELECT * FROM admindatabase";
try
{
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
ResultSetMetaData rsmetadata = rs.getMetaData();
//It stores the number of columns
int columns = rsmetadata.getColumnCount();
//This object will pass data into JTable
DefaultTableModel dtm = new DefaultTableModel();
Vector columns_name = new Vector();
Vector data_rows = new Vector();
for (int i=1; i<=columns; i++)
{
columns_name.addElement(rsmetadata.getColumnName(i));
}
dtm.setColumnIdentifiers(columns_name);
while (rs.next())
{
data_rows = new Vector();
for (int j=1; j<=columns; j++)
{
data_rows.addElement(rs.getString(j));
}
dtm.addRow(data_rows);
}
//Pass DefaultTableObject into table
table.setModel(dtm);
}
catch (SQLException e)
{
e.printStackTrace();
}
Zastanawiam się jak rozwiązać kwestię zaangażowania JScrollPane do działania po wsadzeniu w niego tabelki.
Będę wdzięczny za wszelką pomoc.
Pozdrawiam!