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

【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日

悬赏问题

  • ¥66 定制开发肯德基自动化网站下单软件
  • ¥20 vscode虚拟环境依赖包未安装
  • ¥15 odoo17关于owl开发js代码问题
  • ¥15 光纤中多普勒频移公式的推导
  • ¥15 怎么制作一个人脸识别门禁系统
  • ¥20 大华dss监控平台网络关闭登不进去
  • ¥15 请使用蚁群算法解决下列问题,并给出我完整的代码
  • ¥20 关于php录入完成后,批量更新数据库
  • ¥15 请教往复密封润滑问题
  • ¥15 cocos creator发布ios包