我正在尝试运行一个非常简单的Java程序。当我使用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);
}
}有什么问题吗?
发布于 2014-02-12 15:30:00
因为paint是JApplet中的一个方法,所以当您重写它时,需要调用super.paint(g),这样父组件仍然可以完成它的绘制。您的paint方法应该更像这样:
@Override
public void paint(Graphics g) {
super.paint(g);
g.drawString("Registration Form", 195, 10);
}https://stackoverflow.com/questions/21731213
复制相似问题