[英]Java Awt components are displayed but Swing components are not displayed in Applet
我正在尝试运行一个非常简单的Java applet程序。 当我使用AWT.Label
组件时,可以通过appletviewer看到该组件。 我使用的代码是:
import java.applet.Applet;
import java.awt.Graphics;
import javax.swing.*;
import java.awt.*;
public class AppletTest extends Applet
{
Label user = new Label("Username", Label.LEFT);
public void paint(Graphics g)
{
g.drawString("Registration Form", 195, 10);
}
public void init()
{
add(user);
}
}
当我使用swing.JLabel
组件时,除了打印在顶部的“注册”表单,我看不到屏幕上的任何组件:
import java.applet.Applet;
import java.awt.Graphics;
import javax.swing.*;
import java.awt.*;
public class AppletTest extends JApplet
{
JLabel user = new JLabel("Username", JLabel.LEFT);
public void paint(Graphics g)
{
g.drawString("Registration Form", 195, 10);
}
public void init()
{
add(user);
}
}
有什么问题
因为paint
是JApplet
的方法,当您重写它时,您需要调用super.paint(g)
以便父组件仍可以对其进行绘画。 您的paint
方法应该看起来像这样:
@Override
public void paint(Graphics g) {
super.paint(g);
g.drawString("Registration Form", 195, 10);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.