0

行をクリック(マウスイベント)したときにjTableセルに画像を設定する方法は?最初の行を選択すると、その行に画像が表示されます.次に、2番目の行をクリックすると、画像が2番目の行に表示されますか?これを行う方法テーブル セル レンダラーを使用するか、レンダラーを準備しますか?

4

3 に答える 3

2

画像を表のセルに表示するだけの場合は、デフォルトのレンダラーを使用して、その列が返されるようにしImageIconます。TableModelImageIcon.class

クリックに応じて画像を表示する場合は、TablePopupEditorwithのバリエーションを使用しsetClickCountToStart(1)、画像を として使用することを検討してくださいIcon

于 2012-02-10T11:46:25.740 に答える
1

これは、JTable に画像を表示することに関する 4 番目の質問です。その方法は既にご存知だと思います。

したがって、選択が変更されたときに行を更新する場合は、ListSelectionListener を使用する必要があります。次に、リスナーが起動したら、TableModel を更新して前の行からアイコンを削除し、現在の行のアイコンを更新する必要があります。

JList: 前に選択したアイテムは、更新する行番号を取得できることを示しています。

于 2012-02-10T16:26:11.267 に答える
-2

これを行う最善の方法は、独自のテーブル セル レンダラーを作成することです。

public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
            if(isSelected){
               return new Image(); // if selected
            }
return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); // if not selected do the normal stuff
}

このようなもの。

于 2012-02-10T10:32:23.667 に答える