Java 挫折地不';不能在applet后台工作

Java 挫折地不';不能在applet后台工作,java,swing,user-interface,awt,Java,Swing,User Interface,Awt,我不认为这是一个重复,因为其他问题是关于JButtons和jpanel的 我想知道为什么java中的以下内容不能像人们想象的那样工作: import javax.swing.JApplet; import java.awt.*; public class Example extends JApplet { public void paint(Graphics page) { setBackground (Color.cyan); } } 基本上,

我不认为这是一个重复,因为其他问题是关于JButtons和jpanel的

我想知道为什么java中的以下内容不能像人们想象的那样工作:

import javax.swing.JApplet;
import java.awt.*;

public class Example extends JApplet
{
     public void paint(Graphics page)
     {
        setBackground (Color.cyan);
     }
}
基本上,当我运行小程序时,无论颜色如何,背景都不会改变。我意识到还有其他方法可以达到同样的效果,但我正在使用教科书中的例子,我想知道为什么它在我的机器上不起作用

但我用的是教科书上的例子

扔掉课本。永远不要重写JApplet的paint()方法(这是一种旧的AWT技术,不与Swing一起使用)

Swing中的小程序就像Swing中的应用程序一样。将组件添加到小程序的内容窗格中。如果需要自定义绘制,可以通过重写JPanel(或JComponent)的paintComponent()方法来完成,然后将面板添加到内容窗格中

如果要更改小程序的背景,请更改内容窗格的背景(或添加到内容窗格中心的面板的背景)。比如:

getContentPane().setBackground( Color.CYAN );
此代码将在init()方法中执行

从阅读文章开始。有关于如何制作小程序和“执行自定义绘制”的章节

但我用的是教科书上的例子

扔掉课本。永远不要重写JApplet的paint()方法(这是一种旧的AWT技术,不与Swing一起使用)

Swing中的小程序就像Swing中的应用程序一样。将组件添加到小程序的内容窗格中。如果需要自定义绘制,可以通过重写JPanel(或JComponent)的paintComponent()方法来完成,然后将面板添加到内容窗格中

如果要更改小程序的背景,请更改内容窗格的背景(或添加到内容窗格中心的面板的背景)。比如:

getContentPane().setBackground( Color.CYAN );
此代码将在init()方法中执行


从阅读文章开始。有一节是关于如何制作小程序和“执行自定义绘制”的。

您说覆盖绘制方法是一种旧的awt技术,这与J2SE 5.0一致吗?因为这是书中唯一一个它确实覆盖了绘画方法的例子。其他的例子似乎都是以正确的方式完成的,只是对我所处的位置感到困惑,因为我的技术被贬低了,这与Java的版本无关。这与AWT和Swing之间的区别有关。您说覆盖绘制方法是一种古老的AWT技术,这与J2SE5.0一致吗?因为这是书中唯一一个它确实覆盖了绘画方法的例子。其他的例子似乎都是以正确的方式完成的,只是对我所处的位置感到困惑,因为我的技术被贬低了,这与Java的版本无关。这与AWT和Swing之间的差异有关。