TableCellRendererを実装するクラスを作成しました。なぜなら、jTableの内部にチェックボックスを入れたいからです。 このクラスのgetTableCellRendererComponent方法において、iは、条件を有する:java jTable:行番号を知る方法?
条件場合は、この内部
を{...}行う(isSelected)であれば、どのように行番号を知ることができますか?
コード:
private static class ValueRenderer extends JCheckBox
implements TableCellRenderer {
private static final Color hilite = new Color(0xE8E8E8);
public ValueRenderer() {
this.setOpaque(true);
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,boolean hasFocus, int row, int col) {
Value v = (Value) value;
this.setSelected(v.selected);
if(isSelected)
{
if(v.selected==true)
System.out.println("checked");
else System.out.println("unchecked");
}
return this;
}
}
private static class Value {
private Boolean selected;
public Value(Boolean selected) {
this.selected = selected;
}
}
メソッドのシグネチャにある 'row'を使用するだけです。 – Fender
私はこれを気付かなかった、あなたの助けに感謝します! – shaw
そのように注意してください。この方法では、同じ列のすべての行の値に対して単一のレンダラーを使用することが強制されます。 – Heisenbug