0

からデータベース レコードをプル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いますが、実行したいように操作するための高度なトリックを見たり遭遇したりしていません。

私はこのサイトを検索し、このリンクからそれを行う最短の方法を見つけました

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();

これを機能させるために足を正しい軌道に乗せるための助けに本当に感謝します..

前もって感謝します..

4

1 に答える 1