2012-05-14 168 views
3

我的問題是這樣的: 默認更改顏色以給出一個JTextField setEnabled(false)例如是黑色的並通過UIManager結果證明,但沒有任何建議。更改顏色SetEnabled

問候。

+2

請重新說明你的問題..我很難理解你。 – user1329572

+2

您是否嘗試過使用'setDisabledTextColor'? –

+0

你在問什麼? – Anonymous181

回答

6

要更改禁用背景色試試這個:

UIManager.put("TextField.disabledBackground", Color.GRAY); 

可以使用setDisabledTextColor改變禁用文本顏色,即:

textField.setDisabledTextColor(Color.GRAY); 

編輯:包括SSCCE

import java.awt.Color; 
import javax.swing.JOptionPane; 
import javax.swing.JPanel; 
import javax.swing.JTextField; 
import javax.swing.UIManager; 

public class TestDisabledTextField { 

    public static void main(String[] args) { 
     UIManager.put("TextField.disabledBackground", Color.YELLOW); 

     JTextField textField = new JTextField("Disabled text field", 15); 
     textField.setEnabled(false); 
     textField.setDisabledTextColor(Color.RED); 

     JPanel panel = new JPanel(); 
     panel.add(textField); 

     JOptionPane.showMessageDialog(null, panel); 
    } 
} 
+0

'UIManager'行不適合我。當我檢查'UIManager.getDefaults()'的輸出時,我沒有看到'TextField.disabledBackground',這讓我覺得這不是一個真正的選擇。 – gdw2

+0

其實,我認爲'UIManager'鍵應該是'TextField.inactiveBackground'。 – gdw2

+0

@ gdw2什麼不行?請參閱包含SSCCE的上次編輯。 – tenorsax