gpt4 book ai didi

java - 使用 drawString() java 时会跳过 Color.White

转载 作者:搜寻专家 更新时间:2023-11-01 02:24:45 24 4
gpt4 key购买 nike

当我尝试在黑色背景上绘制白色字母时,我发现了一些奇怪的东西。

public WhiteOnBlackPanel() {
setBackground(Color.BLACK);
}

public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(new Color(255,255,255));
g.drawString("Hello World",100,100);
g.drawLine(0,0,100,100);
}

public static void main(String[] args) {
JFrame frame = new JFrame();
frame.add(new WhiteOnBlackPanel());
frame.setTitle("Hello World");
frame.setSize(600,400);
frame.setLocation(100,100);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setVisible(true); // The frame is visible from now on
}

!不要看图片中的代码,只看框架!

给我这个: "White" letters on a black background

然而,线条绘制得很好。

"White" letters and a white line on a black background

当我采用不同但非常接近的颜色(254、255、255)时,我得到了这个

White letters on a black background

为什么 java.awt.Graphics 阻止绘制纯白色 (255,255,255) 字母(即使它在黑色背景上)?

查理蒂亚

最佳答案

jdk1.8.0_20 中的一个错误,至少在 Linux (Ubuntu) 中:0xFFFFFFFF 显示为黑色。更改 alpha 或 RGB 值之一会导致“几乎是白色”。

jdk1.7.0_67 在同一系统上工作正常。

检查了所有形式的 setColor。

后来发现报错:JDK-8054638 : White color is not painted

受影响的版本:8u11、8u25

这个错误只影响 Linux;在 Windows 上一切正常。

关于java - 使用 drawString() java 时会跳过 Color.White,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27677337/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com