无法设置 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 背景颜色的主要内容,如果未能解决你的问题,请参考以下文章
NSProgressIndicator 无法将背景颜色设置为白色