如何将十六进制字体颜色添加到JLabel?

3

我在 StackOverFlow 上搜索了答案,但仍然找不到(只有针对 Android 的答案。我使用命令行)。我想将十六进制颜色代码添加为字体颜色。

我最初使用了这个方法,但我需要从 JDK 给定的系统/定义颜色中添加。

g2l2.setForeground(Color.BLUE);

就像这样。但是没有起作用。

g2l2=new JLabel();
g2l2.setLocation(50,60);        
g2l2.setSize(150,30);        
g2l2.setText("Members");        
g2l2.setTextColor(Color.parseColor("#43B7BA"));        
g2l2.setFont(new Font("Calibri Light",Font.BOLD,15));        
g2cont.add(g2l2);    
g2l2.addMouseListener(this);

错误:在类Color中找不到符号Color.parseColor(String)。

该错误通常是由于您的代码中缺少导入语句或库依赖项而引起的。请确保已正确导入相关库,并检查拼写错误和语法错误。

2个回答

3
你可以尝试这个方法:
Color myColor = Color.decode("#43B7BA");

这个方法曾经对我有用。

希望它能对你有所帮助。

祝好。

顺便说一下,你也可以尝试使用“RGB”方法,有很多网页可以从十六进制中获取RGB值:

Color redColor = new Color(255,0,0)

3
你可以尝试使用 Color myColor = new Color(0x43B7BA); - BackSlash
@Marcelo Tataje 我使用了这个代码:g2l2.setTextColor(Color.parseColor(myColor)); 但是它不起作用 :( 你能帮忙吗? - Ashane Alvis
1
@AshaneAlvis 使用 g2l2.setForeground(Color.parseColor(myColor)) - BackSlash
2
@AshaneAlvis 导入 java.awt.Color。使用 Color.decode 而不是 Color.parseColor,因为 parseColor 不存在。 - BackSlash
@BackSlash它像魔法一样运行良好,谢谢。我非常感激。 - Ashane Alvis
显示剩余2条评论

1

我知道这是一个旧的线程,但我相信OP的原始问题是没有包含正确的导入。他已经找到了正确的答案。

import android.graphics.Color;

在Android中解析HEX颜色,您只需在导入之后执行以下操作...
Color.parseColor("#000000")//BLACK

或者像原帖中已经写的一样...在导入之后:

g2l2.setTextColor(Color.parseColor("#43B7BA"));        

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接