2017-04-08 84 views
0

所以,我一直在做使用JFrame的這個代碼,我不得不改變的標籤前景色爲一個從選擇JColorChooser的,第一件事我曾嘗試從colorchooser元素使用「的mouseClicked」事件它只是不工作,我想我知道爲什麼,但我不知道,所以讓我們把它放在「它不能正常工作」,我一直在嘗試其他選擇,我最終與我認爲可能是最有效的,實現mouselistener,但我認爲我沒有使用它,因爲我應該因爲它不工作,現在我只是真的很累,所以你能幫我一個人嗎?這裏是代碼:檢測點擊不工作

public class dieztres extends javax.swing.JFrame implements MouseListener{ 

@Override 
public void mouseClicked(MouseEvent e) { 
    mylabel.setForeground(mycolorchooser.getSelectionModel().getSelectedColor()); 
} 

@Override 
public void mousePressed(MouseEvent e) {} 

@Override 
public void mouseReleased(MouseEvent e) {} 

@Override 
public void mouseEntered(MouseEvent e) {} 

@Override 
public void mouseExited(MouseEvent e) {}     

}

讓一切無用的方式進行(如自動生成的代碼),這就是重要的部分,我想道歉,如果這是基本的東西而言,我在這方面的新。

+0

爲了更快地獲得更好的幫助,請發佈[MCVE]或[簡短,獨立,正確的示例](http://www.sscce.org/ )。 –

回答

1

實施MouseListener是不夠的。您還必須註冊您的課程Component。 A JFrameComponent,你的班級是JFrame,所以只需將this.addMouseListener(this)放在方便的地方,如構造函數方法。在How to Use Color Choosers

+0

不,不起作用 – Lez

+0

阿爾伯特寫的是正確的。首先確保鼠標偵聽器正常工作(例如,通過打印一條消息)。在確定它有效後,你需要它來做你所需要的。 – c0der

1

開始採取一看這表明你可能是如何解決你的問題......

直接從教程...

tcc.getSelectionModel().addChangeListener(this); 
. . . 
public void stateChanged(ChangeEvent e) { 
    Color newColor = tcc.getColor(); 
    banner.setForeground(newColor); 
} 

確保選中利用可用的教程和諮詢JavaDocs當您遇到問題時,他們通常會針對更常見的問題提供解決方案