小程序没有显示任何东西



为什么Applet上没有显示任何内容?我试着编辑了很多次,但似乎没有任何效果。有人知道发生了什么吗?我试着画画,但效果不太好。任何提示将非常感激!

import java.awt.*;
import java.applet.Applet;
import javax.swing.*;
import java.awt.event.*;
import java.util.Arrays;
import java.util.StringTokenizer;
import java.awt.Color;
public class StartingPoint extends Applet{
    private final int pictureWidth = 1001;  
    private final int pictureHeight = 50;
    private static FormCanvas picture;
    private JPanel panel;
    private JTextField numLights;
    private JTextField whichLight;
    private JTextField howLong;

    public void lightCreator(){
        panel = new JPanel();
        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
        picture = new FormCanvas();
        panel.add(picture);
        panel.setBackground(Color.BLUE);
        numLights = new JTextField("Enter Number of lights total", 20);
        whichLight = new JTextField("Enter which lights you want off separated by commas", 30);
        howLong = new JTextField("Interval time", 10);
        panel.add(numLights);
        panel.add(whichLight);
        panel.add(howLong);
        int light = Integer.parseInt(numLights.getText());
        String lights = whichLight.getText();
        int lightsOn[] = new int[light];
        StringTokenizer str = new StringTokenizer(lights, ",");
        int n = 0;
        while(str.hasMoreElements()){
            lightsOn[n] = Integer.parseInt((String)str.nextElement());
            n++;
        }
        add(panel);
    }
    class FormCanvas extends Canvas {
        // this class paints the GUI 
        FormCanvas() {
            setSize(pictureWidth, pictureHeight);
            setBackground(Color.blue);
        }
    }
}

问题:

    为什么要扩展Applet而不是JApplet?为什么要混合Swing和AWT组件(包括Canvas)?
  • 在哪里调用lightCreator()方法?
  • 如果这是一个Applet/JApplet,你的init()方法覆盖在哪里?

在尝试创建和显示applet之前,您是否已经阅读了applet教程?

变化:

public void lightCreator(){

:

@Override
public void init() {

为什么Applet上没有打印显示任何东西?. .有人知道发生了什么吗?

@Hover's 3rd &第四条注释,lightCreator方法从未在该代码中调用。请使用applet生命周期方法init(),它将在applet首次加载时被调用一次。

最新更新