独自の再利用コンポーネントを作成し、イベントを管理します。 ImageIcon
とそのパスをクラスにラップします。そのクラスのクリックハンドラを登録し、コンテナ内のコンポーネントを変更するときにクリックイベントを待ち受けます。 state
変数も保持し、コンテナの内容を入れ替えます。 path
を表示するには、即時にJLabel
を作成してコンテナに追加するか、コンポーネントの作成時にJLabel
を作成することができます。
が可能なコンポーネントは、これは単なる出発点である。この
public class MyComponent extends JComponent {
private JLabel label; //This displays the path
private ImageIcon image; //This displays the image
//Create a container of your wish
//Attach a click handler to both the label and the image or the container
//OnClick swap the JComponent in your container and repaint()!
//Construct it like this:
MyComponent(String path) {
//Initialize JLabel with "text" as the path
//Load ImageIcon from the path
}
}
のように起動します。このアプローチは再利用可能なコンポーネントを作成するので、問題なくJLabel内に複数の「そのような」コンポーネントを持たせることができ、コードをきれいに保つことができます。
umpfth時間について:モデルが正しい列クラスを返していれば、JTableは完全にうまくアイコンを処理します。どのくらいの頻度で正確に同じ答えを求めて取得する予定ですか? – kleopatra
downvoteは何度も何度も同じ質問をすることです... – kleopatra