我制作了一个JTextField,我希望它的背景是红色的,当它没有字符时,一旦一个字符被写入,就会自动变为绿色。
我试过这个密码
textField1.setBackground(textField1.getText().equalsIgnoreCase("") ? Color.RED : Color.GREEN);
但它不会自动更新它。
谢谢
import java.awt.*;
import javax.swing.*;
class m extends JFrame
{
JTextField t;
public m()
{
setVisible(true);
setSize(1000,1000);
setLayout(null);
t =new JTextField();
t.setBounds(100,100,100,100);
add(t);
Timer t1=new Timer(100,new ActionListener(){
public void actionPerformed(ActionEvent e)
{
if(t.getText().equals(""))
{
t.setBackground(Color.red);
}
else
{
t.setBackground(Color.GREEN);
}
}
}
);
t1.start();
}
public static void main (String[] args) {
new m();
}
}
你应该添加文档监听器
textfield.getDocument().addDocumentListener(this);
@Override
public void insertUpdate(DocumentEvent e)
{
textField1.setBackground(textField1.getText().equalsIgnoreCase("") ? Color.RED : Color.GREEN);
}
@Override
public void removeUpdate(DocumentEvent e)
{
textField1.setBackground(textField1.getText().equalsIgnoreCase("") ? Color.RED : Color.GREEN);
}
@Override
public void changedUpdate(DocumentEvent e)
{
textField1.setBackground(textField1.getText().equalsIgnoreCase("") ? Color.RED : Color.GREEN);
}
还可以尝试设置Textfield的不透明属性。
textField1.setOpaque(True)
我正在使用RangeSeekBar为3种情况设置一些值(即绿色=OK,琥珀色=警告,红色=撤离)...我正在使用xml绘图来设置背景 我知道我可以通过编程更改渐变,但如何缩小起始颜色并增加结束颜色?有人能解决这个问题吗? 谢谢
问题内容: 我对背景色有疑问。如何在启用的文本字段中进行更改(编辑时)?仅适用于禁用的文本字段。可以更改窗口中所有文本字段的背景,但我只想对其中一个进行更改。 问题答案: 好的,这是我需要的:
问题内容: 有什么方法可以更改RibbonApplicationMenuEntryPrimary(Flamingo)的背景颜色吗? 我看了看它的javadoc,但找不到方法。 问题答案: 1)请注意,我已检查API;从开始,有很多导入和扩展,它们来自许多不同的方法(这里是我尝试覆盖MetalButtonUI的尝试)。 2)也许更改内置颜色主题会很容易,但是我不建议这样做。 3)我不是Flaming
问题内容: 我有这个课: 问题是当我在JList中选择一个单元格时,我的背景不会变成红色。setText部分有效,但是我无法弄清楚为什么它不会更改单元格的背景颜色。任何人都有任何想法,谢谢! 问题答案: 主要问题是标签默认情况下是不透明的,因此您需要使标签不透明才能绘制背景。 但是您不需要为此创建自定义渲染器。默认渲染器是不透明的。您所需要做的就是设置列表的选择背景属性: 如果您尝试创建一个渲染器
我有一个带有半径和笔划的CardView,但当我以编程方式更改CardView背景时,半径和笔划将丢失,我希望新颜色保留在笔划内。 这是我的cardview xml 这里是我换颜色的地方:
在超文本标记语言中,我什么时候使用颜色,背景颜色和背景标签有什么区别? 有什么区别?