2012-05-14 2 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); 

EDIT: включить 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