我製作了一個可以禁用按鈕的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" />
正如我所說,在我的電腦上這段代碼工作正常。另一個不是。 由於事先
您確定您不是灰色和白色顯示在不同屏幕上的微妙方式的受害者嗎?你可以暫時切換到更明顯的東西(如綠色或紅色),看看它是否有效? –
我發現了這個問題。它的Java版本。第七沒有工作。但我不知道爲什麼...... – immerhart