JTable
ユーザーが数字を入力した後にアイコンを更新する必要がありますJTextField
。
ステップバイステップ:
- ユーザーは連続してクリックし、
JTable
その後、JFrame
コンテンツを編集するために を開きます。 - ユーザーが 0 から 100 までの数字を入力
JTextField
した場所があります。その数字は、ユーザーが閉じた後に JTable 行に表示されるアイコンを変更します。EditFrame
EditFrame
ここでドキュメントを読みました。アプローチを変更しました。レンダラーを強制終了し、食事クラスに静的アイコンを作成し、次のようなメソッドを作成しました。
public ImageIcon getIconByValue(int value){
if(value==0)
return ONESTAR;
else
return ...;
}
私のテーブルモデルにいくつかの変更を加えました(ImageIconを保存するため):
public Class<?> getColumnClass(int columnIndex) {
switch (columnIndex) {
case RATING:
return ImageIcon.class;
...}
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
//..other cases....//
case RATING:
meal.getIconByValue((int)aValue);
break;
}
public void setData(List<Meal> list){
this.meals.clear();
for(Meal m:list){
Meal meal=new Meal();
//...other sets..//
meal.getIconByValue(m.getRating());
}
this.meals.add(meal);
}
しかし、私の評価スペース (星を表示する場所) は完全に空白です。注: 他のトピックも読みましたが、アイコン OnTheFly をJTable
.