2012-09-03 21 views
1

我製作了一個可以禁用按鈕的GUI。如果按鈕被禁用,則文本顏色變爲灰色。在我的電腦上一切正常,但我試了它在不同的一個(都贏了7.其他計算機(發生錯誤的地方)有一個觸摸屏,不知道這是否會導致問題,並在我的電腦上我有Java 6在問題的計算機Java 7)和那裏,文字顏色保持白色..! 我不知道該怎麼辦。 這裏的一些代碼,也許它可以幫助(重寫的setEnabled方法):在不同的pc上jbutton文字顏色問題

@Override 
public void setEnabled(boolean b) 
{ 
    super.setEnabled(b); 
    if(!this.isEnabled()){ 
     String text = ""; 
     if(!this.getText().contains("<html>")){ 
      text = "<html><font color=\"#797C88\">" + this.getText() + "</font></html>"; 
     } 
     else{ 
      text = this.getText().replaceAll("#[a-fA-F0-9]{6}", "#797C88"); 
     } 

     this.setText(text); 
    } 
    else{ 
     String text = ""; 
     if(!this.getText().contains("<html>")){ 
      text = "<html><font color=\"#FFFFFF\">" + this.getText() + "</font></html>"; 
     } 
     else{ 
      text = this.getText().replaceAll("#[a-fA-F0-9]{6}", "#FFFFFF"); 
     } 

     this.setText(text); 
    } 
} 

這是自定義外觀和感覺(所有圖像都運作良好,在其他電腦,所以我覺得應該沒有錯誤在外觀和感覺...):

<style id="button"> 
    <!-- Shift the text one pixel when pressed --> 
    <property key="Button.textShiftOffset" type="integer" value="2" /> 
    <state> 
     <imagePainter method="buttonBackground" path="images/button_normal.png" sourceInsets="10 10 10 10" /> 
     <font name="Dialog" size="12" /> 
    </state> 
    <state value="PRESSED"> 
     <imagePainter method="buttonBackground" path="images/button_normal_pressed.png" sourceInsets="10 10 10 10" /> 
    </state> 
</style> 
<bind style="button" type="region" key="Button" /> 

正如我所說,在我的電腦上這段代碼工作正常。另一個不是。 由於事先

+0

您確定您不是灰色和白色顯示在不同屏幕上的微妙方式的受害者嗎?你可以暫時切換到更明顯的東西(如綠色或紅色),看看它是否有效? –

+0

我發現了這個問題。它的Java版本。第七沒有工作。但我不知道爲什麼...... – immerhart

回答

0

,而不是使用的代碼更改字體顏色:

text = "<html><font color=\"#797C88\">" + this.getText() + "</font></html>"; 

text = this.getText().replaceAll("#[a-fA-F0-9]{6}", "#797C88"); 

你應該使用:

this.setForeground(Color.GRAY); 

並更改文本至白色:

this.setForeground(Color.WHITE); 
+0

可能更好的評論,因爲這個答案實際上並沒有解決問題。但好的一點也是一樣的。 –

+0

我發現了這個問題。它的Java版本。第七沒有工作。但我不知道爲什麼...... – immerhart

+0

不能使用這個,因爲我需要多行按鈕的html的東西...... – immerhart