java中jpanel变绿色,java – 为什么JPanel背景不会改变颜色?

我正在尝试将程序的背景颜色设置为白色(而不是灰色).

我有一个包含程序的框架类(该框架类的新实例在main方法中实例化).我有以下是构造函数:

this.setBackground(Color.WHITE);

为了防止它被其他面板阻挡,我将相同的行添加到我程序中每个面板的构造函数中(我的意思是每个面板).

然而,什么也没发生.

可能有什么不对?

解决方法:

如果在JFrame的构造函数中调用该代码,则不会更改JFrame的contentPane颜色,这是需要完成的操作.在contentPane上进行调用:

getContentPane().setBackground(Color.WHITE);

添加到GUI的其他JPanel不应设置其颜色,但应通过myPanel.setOpaque(false)将其opaque属性设置为false;这将使其后面的任何图像或颜色可见.例外是contentPane,它应始终是不透明的.

如果这没有帮助,你需要告诉我们更多(无论如何你需要这样做,因为你的问题遗漏了许多必要和重要的细节).

标签:java,colors,swing,jframe,jpanel

来源: https://codeday.me/bug/20190530/1184697.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现背景颜色点击色,你可以使用 Java Swing 库的 JButton 组件。使用 JButton 组件可以方便地创建一个可点击的按钮,并在点击按钮时改变背景颜色。 以下是实现背景颜色点击色的示例代码: ```java import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class BackgroundColorChange implements ActionListener { private JButton button; private JPanel panel; private JFrame frame; private Color[] colors = { Color.RED, Color.GREEN, Color.BLUE }; public BackgroundColorChange() { frame = new JFrame("Background Color Change"); panel = new JPanel(); button = new JButton("Click Me!"); button.addActionListener(this); panel.add(button); frame.add(panel); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300, 300); frame.setVisible(true); } public static void main(String[] args) { new BackgroundColorChange(); } @Override public void actionPerformed(ActionEvent e) { int randomIndex = (int) (Math.random() * colors.length); panel.setBackground(colors[randomIndex]); } } ``` 在这个示例,我们创建了一个 JFrame 窗口和一个 JPanel 面板,在面板上添加了一个 JButton 按钮。当点击按钮时,通过实现 ActionListener 接口的 actionPerformed 方法,随机选取一个颜色并将面板的背景设置为该颜色。 你可以根据自己的需求修改这个示例代码,例如修改颜色数组、修改窗口大小等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值