setBackground (new color ()); в java не понимает заданное значение RGB
после поиска google в течение получаса я сдался! :)
У меня есть программа с некоторым gui, на JFrame, который я установил,
 setBackground( new Color(107, 106, 104) );
[проблема] Он дает сероватый цвет,но не тот! Если я проверю цвет gui в Photo Shop, он даст мне значения RGB (126, 125, 123)
Я очень расстроен.. У кого-то такая же проблема?
Ps. Я пробовал с шестнадцатеричным значением, тот же результат.
С наилучшими пожеланиями, Дзюри
5 ответов
I have a program with some gui, on the JFrame I set,
 setBackground( new Color(107, 106, 104) );
[The problem] It gives a greyish color, but not the right one! 
If I check the gui's color in Photo Shop, it gives me the RGB 
values (126, 125, 123)
вы не можете установить setBackground на JFrame, это возможно только для ContentPane, например
JFrame#getContentPane.setBackground(new Color(107, 106, 104));
редактировать

код
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
public class Check extends JFrame {
    private static final long serialVersionUID = 1L;
    public void makeUI() {
        JFrame f = new JFrame();
        f.getContentPane().setBackground(new Color(107, 106, 104));
        f.setDefaultCloseOperation(EXIT_ON_CLOSE);
        f.setSize(new Dimension(300, 200));
        f.setVisible(true);
    }
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new Check().makeUI();
            }
        });
    }
}
проверьте с комментарием Адама, и даже если это не сработало, то без какого-либо рабочего кода я просто предполагаю, что этот сценарий поднимается из-за нулевого порядка или макета JFrame. На самом деле в java swing установка цвета фона требует немного больше внимания , проверьте Swing Java Docs.
Я пробовал то, что вы объяснили; в awt это не проблема; в swing кажется, что фон не установлен должным образом
вы проверяли, изменяется ли ваш фон, например, с помощью setBackground (Color.красный)?
пример кода:
import java.awt.*;
import javax.swing.*;
public class Tmp extends Frame { public static void main(String[] args) {
    //Frame tmp = new Frame();
    Frame tmp = new JFrame();
    tmp.setBackground(new Color(107, 106, 104));
    tmp.setSize(40,40);
    tmp.setVisible(true);
}}
http://www.tayloredmktg.com/rgb/
похоже, что серый находится в верхней части страницы, когда вы ее открываете. :) Также убедитесь, что ваш JFrame непрозрачен, или вы не увидите свой цвет!
setOpaque(true);
это работает для меня. Надеюсь, это поможет , код, добавляет JPanel, к текущему JFrame, вы можете дополнительно построить guis на этой панели. Вы можете настроить цвета RGB на JPanel, а не на JFrame.
import javax.swing.*;
import java.awt.*;
public class Main{
    public static void main(String[] args) {
        JFrame frame = new JFrame();
        JPanel panel = new JPanel();
        //Class class = new Class();
        frame.setSize(1920,1080);
        //frame.setTitle("XYZ");
        frame.setResizable(false);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(panel);
        panel.setBackground(new Color(51,153,255));
        //panel.add(class);
    }
}