【问题标题】:Change Color SetEnabled更改颜色设置启用
【发布时间】:2012-05-22 10:53:36
【问题描述】:

我的问题是: 默认更改颜色以提供 JTextField setEnabled (false) 例如为黑色并通过 UIManager 结果证明但没有任何建议。

您好。

【问题讨论】:

标签: java swing colors jtextfield uimanager


【解决方案1】:

要更改禁用的背景颜色,请尝试以下操作:

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);
    }
}

【讨论】:

  • UIManager 行对我不起作用。当我检查UIManager.getDefaults() 的输出时,我没有看到TextField.disabledBackground,这让我觉得这不是一个真正的选择。
  • 其实我觉得'UIManager'键应该是TextField.inactiveBackground
  • 我很抱歉。我认为我在制作 cmets 时推断错误。我遇到了这个问题,真的试图用 UIManager 设置禁用的前景。使用上面的 SSCCE,如果我想使用 UIManager 设置禁用的前景,我必须使用TextField.inactiveForeground,因为TextField.disabledForeground 似乎没有效果。我想我只是假设背景和前景禁用 => 无效。但我承认你的例子有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-16
  • 2013-04-08
  • 1970-01-01
  • 2014-09-12
  • 2014-06-26
  • 1970-01-01
相关资源
最近更新 更多