我的问题是,当尝试在要创建的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);
    }
}

最佳答案

您想要设置小程序的contentPane的背景色,而不是小程序本身的背景色。因此调用getContentPane().setBackground(...)。而且,您不想希望从paint方法中执行此操作。而是在init()中进行操作。实际上,很少有人想要重写JApplet的paint方法,当然在这里不是。最好绘制JPanel或从JComponent派生的其他类的paintComponent(...)方法,然后将其添加到contentPane或将其用作contentPane。

10-08 18:05