編寫您自己的可重用組件並自行管理事件。您將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 2012-02-11 13:43:35
downvote是一次又一次詢問同一個問題... – kleopatra 2012-02-11 13:44:28