java - 在 Swing 中获取当前外观组件背景颜色的正确方法是什么?

标签 java swing

我正在用自己的绘画编写自定义 Swing 组件。我想查询当前外观的组件是否不透明,如果是,它们的背景颜色是什么,以便我的组件也可以使用它。我很难在 Google 上找到它。有人知道吗?谢谢!

最佳答案

这很简单:

public class MyComponent extends JComponent {

    public void paintComponent(Graphics g) {

        if (this.isOpaque()) {
            // Paint background
            g.setColor(this.getBackground());
            g.fillRect(0,0,this.getWidth(), this.getHeight());
        }

        g.setColor(this.getForeground());
        // Continue painting
    }
}

关于java - 在 Swing 中获取当前外观组件背景颜色的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2710458/

相关文章:

Java类: How would I make a class that returns a string parameter but can also be used as an entry point for an application?

java - 启用停止定时器

java - 设置 GridBagLayout 网格的大小

java - java swing中的登录问题

java - 将 SQL 数据库中的信息写入列表

java - 使用 Java 插入 Excel 中的值以访问数据库

java - 如何用 ant 从 pom.xml 编译 jar?

java - 如何转换继承的封装属性以公开子类的方法 - Java

java - 如何将特殊字符包含到字符串数组中。同时使用正则表达式模式的特殊字符拆分字符串

java - 创建一个不出现在启动器列表中的主 Activity