Ok、私は過去の露の時間にこれを試みてきましたが、絶望的になっています。JTable内の列に特定のセルを塗りつぶし
したがって、2番目の列にセルのレンダリングを適用します。
stockTable.setCellRender(jtSpread.getColumnModel().getColumn(1));
と呼ばれる方法は、以下のコードを有するsetCellRenderある:上記
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
for(int i = 0; i < rows; i++) {
if(row == i && column == 2) {
}
}
return this;
}
不完全及び完全な混乱である:私のCellRendererクラスは、次のコードを有する
public void setCellRender(TableColumn column)
{
column.setCellRenderer(new cellRenderer(data, rows));
}
。私の目的は、各セルに条件があるかどうかをチェックすることです。真であれば、緑の前景でラベルを返します。 falseの場合、赤の前景でラベルを返します。私は列内のすべてのセルを1つずつチェックしたいと思います。各条件は各セルに固有のものです。
EDIT:それ自身の条件を有する各セルに関しては、例えば、
最初のセルの値は600です。配列[0]の内容が高ければ、配列[0]と照合したいと思います。
2番目のセルの値は626です。配列[1]の内容が高ければ、配列[1]に対してチェックしたいと思います。このメソッドが呼び出される(このようになります。そして、
CellRenderer extends DefaultTableCellRenderer {
...
、getTableCellRendererComponent()
:
は私が
したがって、各セルの条件は異なりますか?テーブル全体を横切って、あるいは列を横切ってまっすぐに? –
私はちょうど私の投稿を更新しました: –
あなたのアプローチは間違っています:レンダラーは、レンダリングしようとしているセルについて_only_を心配しています。あなたがその概念を理解していることを確認してください、f.i. – kleopatra