[英]Jframe not showing anything and "cannot be cast to java.applet.Applet"
[英]Applet not showing anything
这怎么会在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);
}
}
}
问题:
lightCreator()
方法在哪里调用? init()
方法在哪里覆盖? 在尝试创建和显示小程序之前,您是否已经阅读过小程序教程? 如果没有,那是我要开始的第一个地方。
更改:
public void lightCreator(){
至:
@Override
public void init() {
这怎么会在Applet上不显示任何内容? ..有人知道发生了什么吗?
正如lightCreator
的第3条和第4条注释中提到的lightCreator
,该代码中永远不会调用lightCreator
方法。 请改用applet生命周期方法init()
并在首次加载applet时一次调用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.