以下の様にプログラムを書くことで、jButton19を押した時に、jTableに赤い色を付けることに成功しました。 しかしながら、押してからすぐに色が変わらずに、時間が経過してから色がつく様になってしまいました。 また、どうやらjTableの上の色付けするセルの要素をカーソルで選択し、もう一度非選択の状態にすると、どうやら色が変わってくれる模様です。 このような問題を解決するためにはjTableの表示の更新的な事をすれば良いのかと思われますが、どの様にすればよいのかわかりません。 Javaに関して知識の豊富な方、是非ともご回答よろしくお願いいたします。 private void jButton19MouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: jTable3.getColumnModel().getColumn(20).setCellRenderer(new MyTableCellRenderer()); } class MyTableCellRenderer extends DefaultTableCellRenderer { /** * レンダラコンポーネント取得 * @param JTable 対象テーブル * @param Object 表示する値 * @param boolean 選択されているかどうか * @param boolean フォーカスが当たっているかどうか * @param int 対象行番号 * @param int 対象カラム番号 * @return Component レンダラコンポーネント */ @Override public Component getTableCellRendererComponent( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column){ if (row==1 || row==6 || row==9) { this.setBackground(Color.RED); }else { this.setBackground(Color.WHITE); } return super.getTableCellRendererComponent( table, value, isSelected, hasFocus, row, column); } }
↧