我有一個MouseListener
設置和獲取在JLabel對象具有的MouseListener
label.addMouseListener(new ClickController());
在行動執行JLabel
在
class ClickController{
...
public void mouseClicked(MouseEvent me) {
// retrieve Label object
}
有沒有什麼辦法的對象關聯與JLabel,所以我可以從mouseClicked方法內訪問它?
編輯:
下面給出更說明性的例子,我所要做的是在這裏設置的JLabel作爲撲克牌圖形表示。該標籤旨在表示具有所有實際數據的對象卡。所以我想將該Card對象與JLabel相關聯。
解決方案:
爲 '氣墊船全鰻魚' 建議,me.getSource()
是要走的路。在我的具體情況是:
Card card = new Card();
label.putClientProperty("anythingiwant", card);
label.addMouseListener(new ClickController());
,並從聽者拿到卡對象:
public void mouseClicked(MouseEvent me) {
JLabel label = (JLabel) me.getSource();
Card card = (Card) label.getClientProperty("anythingiwant");
// do anything with card
}
你問的是如何從mouseClicked方法中獲取點擊標籤?如果沒有,請詳細說明。 –
更新後的卓越想法,但更好的幫助更快發佈[SSCCE](http://sscce.org/) – mKorbel
感謝mKorbel,我會按照您的意見 – TMichel