老坛酸菜吃鸭子 2022-04-09 16:13 采纳率: 83.3%
浏览 157
已结题

【java】GUI窗口设置颜色失败

问题遇到的现象和发生背景

使用GUI创建窗口

问题相关代码,请勿粘贴截图
import javax.swing.JFrame;

public class Guitext {

    public static void main(String[] args) {

        JFrame a=new JFrame("我的第一个界面");//创建界面对象,传入标题
        //设置标题 a.setTitle("标题");
        a.setBounds(50,50,500,500);//设置窗口信息,前两个为为弹出位置,后两个为窗口大小
        //自定义 a.pack();
        //设置弹出位置 a.setLocation(50,50); 设置窗口大小 a.setSize(100,100);
        a.setBackground(Color.RED);//设置窗口背景颜色
        //a.setBackground(new Color(104, 243, 22));//设置窗口背景颜色
        //设置失败
        a.setVisible(true);//设置可见性
    }

}


运行结果及报错内容

窗口为默认颜色

我的解答思路和尝试过的方法

使用两个方法设置窗口背景颜色,都没有用,窗口还是默认的白色
a.setBackground(Color.RED);//设置窗口背景颜色
a.setBackground(new Color(104, 243, 22));//设置窗口背景颜色

我想要达到的结果

设置窗口背景颜色

  • 写回答

2条回答 默认 最新

  • 老坛酸菜吃鸭子 2022-04-13 14:59
    关注

    题目内容里面就是全部代码,添加一个JPanel面板即可解决
    具体解决方法如下
    java中如何对JFrame进行设置背景颜色和背景图片
    窗口背景颜色是指直接调用JFrame或者Frame的setBackground(Color color)方法设置后显示出来的颜色。
    其实,在你直接调用这个方法后,你的确设置了背景颜色,
    而你看到的却不是直接的JFrame或者Frame,而是JFrame.getContentPane().
    而JFrame上的contentPane默认是Color.WHITE的,
    所以,无论你对JFrame或者Frame怎么设置背景颜色,你看到的都只是contentPane.
    方法A:在完成初始化,调用getContentPane()方法得到一个contentPane容器,然后将其设置为不可见,即setVisible(false)。
    核心代码this.getContentPane().setVisible(false);//得到contentPane容器,设置为不可见
    方法B:将contentPane的颜色设置为你想要的颜色,而不是对JFrame本身设置,
    核心代码:this.getContentPane().setBackground(Color.red);//设置contentPane为红色
    将核心代码替换方法A核心代码即可实现
    方法C:为JFrame添加一个Panel或者JLabel等其他组件,设置其颜色为你想要的颜色,然后将其覆盖JFrame窗口即可
    JFrame默认是BorderLayoutJPanel默认是FlowLayout。
    ————————————————
    版权声明:本文为CSDN博主「Ryuka-fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/xlh1991/article/details/16986555

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月21日
  • 已采纳回答 4月13日
  • 创建了问题 4月9日

悬赏问题

  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥15 树莓派5怎么用camera module 3啊
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥15 Attention is all you need 的代码运行