からデータベース レコードをプルMySql
しています。以下の方法を使用してこれを行うことができます
private void txt_clientNameKeyReleased(java.awt.event.KeyEvent evt) {
String sql = "Select client_id as 'Client ID', name_lastName as 'Full Name', case_number as 'Case #', hearing_date as 'Hearing Date', rtc_mtc as 'RTC/MTC', place as 'Place', status as 'Status', note as 'Notes', billing as 'Billed' from hearing_history where name_lastName like '%"+ txt_clientName.getText() +"%' ";
try{
if(conn==null){
conn = ConnectDB.ConDB();
}else{
conn = ConnectDB.ConDB();
}
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
jTable1.setModel(DbUtils.resultSetToTableModel(rs));
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}finally {
close();
}
}
正常に動作していますが、セルの高さを増やすために複数の行を持つか、単語を折り返す必要がある列があります。
私は現在4か月間Javaスイングを使用してjtable
いますが、実行したいように操作するための高度なトリックを見たり遭遇したりしていません。
私はこのサイトを検索し、このリンクからそれを行う最短の方法を見つけました
camickr から
private void updateRowHeights()
{
try
{
for (int row = 0; row < table.getRowCount(); row++)
{
int rowHeight = table.getRowHeight();
for (int column = 0; column < table.getColumnCount(); column++)
{
Component comp = table.prepareRenderer(table.getCellRenderer(row, column), row, column);
rowHeight = Math.max(rowHeight, comp.getPreferredSize().height);
}
table.setRowHeight(row, rowHeight);
}
}
catch(ClassCastException e) {}
}
これは本当に素晴らしいコードだと思いますが、試してみたところ、高さが16
(デフォルトの行の高さ) から に増加していることに気付き20
ました。そのため、セルにはまだ 1 行あります。
行の後にこのメソッドを呼び出しました
jTable1.setModel(DbUtils.resultSetToTableModel(rs));
updateRowHeights();
これを機能させるために足を正しい軌道に乗せるための助けに本当に感謝します..
前もって感謝します..