问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java 中怎样设置窗口的颜色

发布网友 发布时间:2022-05-10 23:24

我来回答

3个回答

热心网友 时间:2023-05-18 06:53

调用需要设置颜色的控件的setBackgroud();方法就可以了。


但是设置JFrame和JLabel的背景色,一般就是下面的做法

JFrame frame = new JFrame();
frame.setBackground(Color.Red);
JLabel l = new JLabel();
l.setBackground(Color.Yellow);
frame.add(l);
结果根本就没有反应。这是由于Swing跟AWT有千丝万缕的联系,它既要支持AWT又要有自己新的体系,所以呢,这个如果对于AWT中的Frame是可以直接通过setBackground来设置背景色,但是对于JFrame则不可以,应该采用下面的方法:
JFrame frame = new JFrame();
frame.getContentPane().setBackground(Color.Red);
而对于JLabel来说则要设置JLabel为不透明的才行,即
JLabel comp = new JLabel(value);
comp.setBackground(color);
comp.setOpaque(true);

 

这句代码frame.setBackground(Color.Red);
改变的是框架的颜色,框架的上面还有窗格,所以你要改变窗格的颜色才可以侧低改变框架的颜色
在主函数里加Containerframe.getContentPane()意思是获得窗格

               setBackground(Color.Red);                       改变窗格颜色


另外再附一段背景颜色渐变的代码

运行示意图如下:

import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;

class ShadePanel extends JPanel {
   
    private static final long serialVersionUID = -2644424271663261406L;
   
    public ShadePanel() {
        super();
        setLayout(null);
    }
   
    @Override
    protected void paintComponent(Graphics g1) {// 重写绘制组件外观
        Graphics2D g = (Graphics2D) g1;
        super.paintComponent(g);// 执行超类方法
        int width = getWidth();// 获取组件大小
        int height = getHeight();
        // 创建填充模式对象
        GradientPaint paint = new GradientPaint(0, 0, Color.CYAN, 0, height,
                Color.MAGENTA);
        g.setPaint(paint);// 设置绘图对象的填充模式
        g.fillRect(0, 0, width, height);// 绘制矩形填充控件界面
    }
}
 
 
 


public class ShadeBackgroundImage extends JFrame {
   
   
    private static final long serialVersionUID = 4693799019369193520L;
    private JPanel contentPane;
   
   
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    ShadeBackgroundImage frame = new ShadeBackgroundImage();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }
   
   
    public ShadeBackgroundImage() {
        setTitle("背景为渐变色的主界面");// 设置窗体标题
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 300);
        contentPane = new JPanel();// 创建内容面板
        contentPane.setLayout(new BorderLayout(0, 0));
        setContentPane(contentPane);
        ShadePanel shadePanel = new ShadePanel();// 创建渐变背景面板
        contentPane.add(shadePanel, BorderLayout.CENTER);// 添加面板到窗体内容面板
    }
}

热心网友 时间:2023-05-18 06:53

不清楚你具体用的Java的哪个类创建的窗口。
在java.awt.Component类中有public void setBackground(Color c),可以用于设置窗口的颜色。Frame、panel等都继承了Component类,也可也使用该方法。建议里去API里边找找。

热心网友 时间:2023-05-18 06:54

API里都有,自己查
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 如何用java,将Color类型装换为int类型 发现老公和别的女人暧昧聊天,该如何处理? Java如何改变数组中某一字符的颜色 Java设置标签颜色 java new了一个颜色,然后怎么去用? java中方法new Color(80,197,197));是什么意思? java中如何用Color()方法设置出米黄、灰蓝等颜色? java里颜色类默认的几种颜色对应的int值是多少? 颜色,在java中用什么数据类型 用java声明一个颜色类Color java颜色代码 java里如何声明一个颜色类? 审核与评估的区别是什么?如材料审核与材料评估。 公务员政审跟资格审核的有什么区别的啊? 批准 审核 审查 这几个有什么不同? 是不是都理解为:认可并签字同意? 公民申报出生登记中,派出所户籍部门对公民递交的申请材料是审查还是审核?审查与审核的区别? YY里的橙马和紫马差什么,我感觉一样啊,没差哪CF YY频道里的马甲怎样排列的? yy中橙色的马甲和黄色的马甲谁厉害 公务员考核内容 java color类中的color怎么赋值 java中要求用给定的整数值设定背景颜色 每种颜色染色的格子数相同,最少颜色java 医保卡余额查询大同 python3 为什么会出现这样的情况 怎么去掉浏览器上边的百度搜索栏 如图~ 游览器地址栏旁边多了个百度搜索怎么去掉 1.5大供水管一小时的出水量是多少? 马力为1HP的水泵,出囗管为1.5寸的,每小时的水流量是多少? 怎么去掉网页上的那个什么搜索栏 1.5寸水泵每小时抽多少方水 水管流量 我的浏览器上老是有个小框 上面写这什么百度搜索引擎什么的 怎么去掉啊? 一寸半的自来水管一小时岀多少来自水 如何去掉火狐浏览器的百度搜索框 我想了解一下小型水力发电机的一些基本知识,比如水的落差45米,管子的直径是1.5寸,一小时能发多少电 如何把360浏览器 360导航首页里的 搜索栏里的 百度搜索去掉 1寸水管1小时扬程50米1500W抽多少立方水? 百度搜索栏怎么清除掉 1.1kw潜水泵,转速2860转,出水口径为1.5寸,1小时出水量多少?