6

我有一个带有一些 gui 的程序,在我设置的 JFrame 上,

 setBackground( new Color(107, 106, 104) );

问题是我得到一个灰色的颜色,但不是正确的颜色。如果我在 PhotoShop 中检查它,它会给我 RGB 值(126、125、123)

附言。我尝试过使用 HEX 值,结果相同。

4

7 回答 7

9
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)

您不能设置setBackgroundJFrame,这仅适用于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();
            }
        });
    }
}
于 2012-03-14T08:52:21.073 回答
1

检查亚当的评论,即使没有工作,也没有任何工作代码,我只是猜测这种情况是由于零排序或说 JFrame 的布局而引发的。实际上在 java swing 中,设置背景颜色需要多加注意,查看 Swing Java Docs。

于 2012-03-14T08:46:57.863 回答
0

我试过你解释的;在awt没问题;在摇摆中,
您是否检查过背景设置不正确,如果您的背景发生变化,例如使用 setBackground(Color.red)?

示例代码:

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);
}}
于 2012-03-14T08:54:57.777 回答
0

http://www.tayloredmktg.com/rgb/

当你打开它时,它看起来像灰色在页面的顶部。:) 还要确保您的 JFrame 是不透明的,否则您将看不到您的颜色!

setOpaque(true);
于 2013-11-19T23:51:34.273 回答
0

这对我有用。希望对您有所帮助 代码,将 JPanel 添加到当前的 JFrame,您可以在此面板上进一步构建 gui。您可以在 JPanel 上而不是在 JFrame 上自定义 RGB 颜色。

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);
    }
}
于 2018-03-25T13:29:32.560 回答
0

第一步 - 制作一个对象jFrame

JFrame frame = new JFrame();

第二步:

frame.getContentPane().setBackground(new Color(16,144,144));
于 2018-10-19T19:28:37.667 回答
0
 if(evt.getSource() == jMenuItem11){
        getContentPane().setBackground(new Color(170, 8, 54));
    }
    if(evt.getSource() == jMenuItem12){
        getContentPane().setBackground(new Color(8, 54, 169));
    }
    if(evt.getSource() == jMenuItem13){
       getContentPane().setBackground(new Color(84, 8, 170));
    }

}

于 2019-06-21T16:56:03.697 回答