【问题标题】:Wrong background color in swing panel摆动面板中的背景颜色错误
【发布时间】:2014-12-08 00:18:31
【问题描述】:

在挥杆测试示例中,我遇到了一种奇怪的颜色行为。正如您在代码中看到的,颜色是红色 200、绿色 200 和蓝色 200。当我捕获屏幕并捕获颜色时,结果是红色 210、绿色 210 和蓝色 210。非常奇怪。在某些情况下这不是问题,但在其他情况下是。

这是在 MacOSX 10.10.1 和 java 1.6 中测试的。我还在旧版本的 MacOSX 中进行了测试,结果相同。

有什么想法吗?

谢谢

带有测试结果的图片:http://picpaste.com/Screen_Shot_2014-12-08_at_00.21.37-85tIkP30.png

public class ColorTest {

  public static void main(String[] args) {
    JFrame frame = new JFrame();

    JPanel panel = new JPanel();
    panel.setBackground(new Color(200, 200, 200));

    frame.add(panel);
    frame.setMinimumSize(new Dimension(800, 600));
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();
    frame.setVisible(true);
  }
}

【问题讨论】:

  • 不同的操作系统、屏幕、显卡有不同的色域。 java 色域可能与 MACOS 色域不同,并且正在发生转换。
  • 或者您的图像查看器可能会采用其他颜色空间,这可能是 srgb 与 adobe rgb 的问题

标签: java swing colors


【解决方案1】:

我发现这发生在 VM 1.6.0_65-b14-466.1 中。我已经在 1.7.0_67 和 1.8.0_20 中测试过并且工作正常。奇怪的行为,但至少我找到了。还是不知道为什么。

【讨论】:

    猜你喜欢
    • 2019-09-07
    • 1970-01-01
    • 1970-01-01
    • 2017-11-30
    • 1970-01-01
    • 1970-01-01
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多