繁体   English   中英

显示Java Awt组件,但在Applet中不显示Swing组件

[英]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);
     }

 }

有什么问题

因为paintJApplet的方法,当您重写它时,您需要调用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM