からローを添加しながら、私はJPanelのを持た変更のJTableの行全体の色のMySQL
(RIGHT)MySQLの結果セットから生成されたトランザクション・テーブル内のデータは、ユーザが行の選択したときの下等プロットテーブル(LEFT)。以下のコードは:それがない場合は
tableModelTran.getDataVector().removeAllElements();
if (rs.isBeforeFirst()) {
while (rs.next()) {
java.util.Vector data = new java.util.Vector();
data.add(rs.getString(1));
data.add(rs.getString(2));
data.add(new java.text.SimpleDateFormat("dd/MM/yyyy").format(rs.getDate(3)));
data.add(String.valueOf(new java.text.SimpleDateFormat("MMMM yyyy").format(rs.getDate(3))).toUpperCase());
data.add(rs.getString(4));
data.add(rs.getString(5));
data.add(rs.getString(6));
data.add(rs.getBoolean(7));
tableModelTran.addRow(data);
}
performTotals();
}
私は「確認済み」列がチェックされている場合はGREENに行の色を変更し、無着色のままにしたいと思います。また、ユーザーが列の値を変更すると、それに応じて色も更新されます。すべての助けをいただければ幸いです。
編集:私は最初の値がfalseの場合、左側のテーブルから行を選択しクリックすると今
static class ColorRenderer extends javax.swing.table.DefaultTableCellRenderer {
@Override
public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
java.awt.Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if (value.equals(true)) {
c.setBackground(java.awt.Color.GREEN);
}
return c;
}
public PlotDetailsWindow() {
initComponents();
....
....
transactionTable.setDefaultRenderer(Boolean.class, new ColorRenderer());
....
....
}
:私はクラスを作成し、以下のように私のコンストラクタにこれを追加しました
それは色を変更しませんが、それが真であれば、 '検証済み'列だけが緑に変わり、値が真か偽かは常に緑になります。また、チェックボックスは真/偽になりました。
とどのように私は、NetBeansで私のテーブルにコードのこの部分を追加できますか? – HMH
@HMH、私はIDEを使用したことがないので、これを行う方法を教えてくれません。 IDEなしでこれを行う方法を示す実例が与えられています。 IDEを使用せずにSwing GUIをコーディングする方法を学んでください。別のIDEに移動する必要がある場合、コードはより移植性が高くなります。この方法で、IDEを習得するのではなく、Javaを学ぶ時間を費やします。 IDEは、プロジェクトコードの構造化とコードのデバッグにのみ使用できます。 – camickr
申し訳ありませんが、それは私の問題を解決するのに大いに役に立たなかった。しかし、あなたの貢献に感謝します。 – HMH