无法设置 JApplet 背景颜色

Posted

技术标签:

【中文标题】无法设置 JApplet 背景颜色【英文标题】:Unable to set JApplet Background Color 【发布时间】:2012-06-04 22:39:25 【问题描述】:

我的问题是,当我尝试在我尝试创建的 JApplet 中设置背景颜色时,我无法获得除默认灰色以外的任何颜色。

如果有人不仅能告诉我出了什么问题而且还能解释它,我将不胜感激。这种技术是通过教科书学习的,所以我想了解这个问题,以便我知道发生了什么。

感谢任何和所有的帮助。

提前谢谢你,

可持续发展目标

public class QuoteApplet extends JApplet


    public void paint (Graphics appPage)
    
        setBackground(Color.YELLOW);

        appPage.drawRect(65,55,255,100);
        //page.drawRect(60,80,225,30);
        //page.drawOval(75,65, 20, 20);
        appPage.drawLine(30,30,30,100);
        appPage.drawLine(40,30,40,100);
        appPage.drawLine(55,45,15,85);

        appPage.drawString("There once lived a man named Oedipus Rex.", 70, 70);
        appPage.drawString("You may have heard about his odd complex.", 70, 90);
        appPage.drawString("His name appears in Freud's index,", 70, 110);
        appPage.drawString("'cause he loved his mother.", 70, 130);
        appPage.drawString("-Tom Lehrer", 200, 150);
    

【问题讨论】:

这首有趣的诗+1。还有,好问题。 【参考方案1】:

您想要设置小程序内容窗格的背景颜色,而不是小程序本身。所以请致电getContentPane().setBackground(...)。而您希望在paint 方法中执行此操作。而是在init() 中进行。事实上,您很少会想要覆盖 JApplet 的绘制方法,当然这里也不会。您最好在 JPanel 或其他派生自 JComponent 的类的 paintComponent(...) 方法中绘制,然后将其添加到 contentPane,或将其用作 contentPane。

【讨论】:

如果我创建了一个 init() 方法,那么我是否需要更改我的绘制方法中的任何内容,还是就像添加另一个方法一样简单? @superdem:您可以将 init() 添加为单独的方法。但是请参阅我上面的编辑——你不应该一开始就覆盖paint(...) 谢谢你,如果你说的是真的(我一点也不怀疑),我的教科书是这个星球上最愚蠢的东西......他们以同样的方式合理地设置它我做到了。我已经逐字复制了他们的代码,只更改了值... @superdemongob:你用什么书(所以我可以避免它)? 尝试 core java vol I 和 vol II 或 deitel 和 deitel java 如何编程这两本好书

以上是关于无法设置 JApplet 背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

Photoshop CC 2015无法调整背景颜色

无法设置 SKView 背景颜色

NSProgressIndicator 无法将背景颜色设置为白色

js中.style.background无法改变背景颜色

Android - 无法使用 ListFragement 设置 LIstView 背景颜色

UITableViewHeaderFooterView:无法更改背景颜色