「已注销」 2022-05-24 20:27 采纳率: 100%
浏览 25
已结题

java怎么写一个能改变颜色的窗口啊

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

类似这样的

img

  • 写回答

1条回答 默认 最新

  • 程序喵正在路上 后端领域新星创作者 2022-05-24 20:30
    关注

    你可以参考一下,希望采纳

    import javax.swing.*;
    import java.awt.*;
    
    public class MyFrame extends JFrame {
        JPanel root,panel;
        JButton b1,b2,b3,b4;
    
        MyFrame(String title) {
            super(title);
    
            //设置顶层容器
            root = new JPanel();
            setContentPane(root);
            root.setLayout(new BorderLayout());
    
            //添加面板
            panel = new JPanel();
            root.add(panel,BorderLayout.SOUTH);
    
            //添加按钮
            b1 = new JButton("Red");
            b2 = new JButton("Green");
            b3 = new JButton("Blue");
            b4 = new JButton("Gray");
    
            panel.add(b1);
            panel.add(b2);
            panel.add(b3);
            panel.add(b4);
    
            b1.addActionListener((e)->{
                root.setBackground(Color.RED);
                panel.setBackground(Color.RED);
            });
    
            b2.addActionListener((e)->{
                root.setBackground(Color.GREEN);
                panel.setBackground(Color.GREEN);
            });
    
            b3.addActionListener((e)->{
                root.setBackground(Color.BLUE);
                panel.setBackground(Color.BLUE);
            });
    
            b4.addActionListener((e)->{
                root.setBackground(Color.GRAY);
                panel.setBackground(Color.GRAY);
            });
    
            //设置窗口风格
            setDefaultCloseOperation(EXIT_ON_CLOSE);
    
            //设置窗口显示位置和大小
            setBounds(400, 300, 400, 300);
    
            //设置窗口可见
            setVisible(true);
        }
    
        public static void main(String[] args) {
            MyFrame frame = new MyFrame("Change Color");
        }
    }
    

    运行结果:

    img

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月25日
  • 已采纳回答 5月24日
  • 创建了问题 5月24日

悬赏问题

  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 个人网站被恶意大量访问,怎么办
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大