Java小程序添加和删除标签

Java小程序添加和删除标签,java,applet,awt,Java,Applet,Awt,我正在尝试创建一个代码,当我单击时添加标签,然后当我按e时删除标签。有人能帮我吗 我添加了标签,并将其编译,但标签不会显示,这是为了我的图形项目,我真的很努力 import java.awt.geom.*; import java.awt.*; import javax.swing.*; import java.io.*; import java.awt.event.*; import java.applet.*; import java.util.*; import java.awt.Labe

我正在尝试创建一个代码,当我单击时添加标签,然后当我按e时删除标签。有人能帮我吗 我添加了标签,并将其编译,但标签不会显示,这是为了我的图形项目,我真的很努力

import java.awt.geom.*;
import java.awt.*;
import javax.swing.*;
import java.io.*;
import java.awt.event.*;
import java.applet.*;
import java.util.*;
import java.awt.Label;
public class Volcano_Client extends Applet implements MouseListener, KeyListener, Runnable
{
  Label label1;
 boolean pickE=false;
 boolean play = true;
 boolean makeLava=false;
 Thread t;
 Thread thr;
 Thread th;
 boolean mouseEntered;
 int count;
 Volcano v1;
 public void init()
 {
    label1 = new Label("You see lava flowing down as you press e");

    v1 = new Volcano();
    thr=new Thread(this);
    thr.start();
    t=new Thread(this);
    t.start();
    th= new Thread(this);
    count=0;
    addMouseListener(this);
    addKeyListener(this);
 }
 public void keyTyped(KeyEvent k)
 {
 }
 public void keyReleased(KeyEvent k)
 {
 }
 public void keyPressed(KeyEvent k)
 {
    if(k.getKeyCode() ==KeyEvent.VK_E)
    {
        pickE=true;
        repaint();
        k.consume();
    }
 }
    public void mouseExited(MouseEvent me)
 {
    mouseEntered=false;
    repaint();
 }
 public void mousePressed(MouseEvent me)
 {
 }
 public void mouseReleased(MouseEvent me)
 {
 }
 public void mouseEntered(MouseEvent me)
 {

    mouseEntered=true;
    repaint();
 }
 public void mouseClicked(MouseEvent me)
 {

    if(mouseEntered==true)
    {
        makeLava=true;
    }
    else
    {
        makeLava=false;
    }
    repaint();
 }
 public void run()
 {
     while(play==true)
    {
        try
        {
            Thread.sleep(100);
        }
        catch(InterruptedException e)
        {
            e.printStackTrace();
        }
        repaint();
    }
    while(true)
    {
        try{
            Thread.sleep(20);
        }
        catch(Exception e){};
        repaint();
    }
 }
 public void stop()
 {
 }
 public void start()
 {
 }
 public void paint(Graphics g)
 {
    Graphics2D g2 = (Graphics2D)g;
    label1 = new Label("You see lava flowing down as you press e");
    v1.makeVolcano(g2);
    if(makeLava)
    {
      v1.makeLavaUp(g2);
      g.setColor(Color.black);
      g.drawString("KABOOM!!!",200,70);
      add(label1);

    }
    else
    {
        g.setColor(Color.white);
        g.drawString("Please Click For Eruption part 1",160,250);
    }
    if(pickE)
    {
        v1.makeLavaFlow(g2);
        remove(label1);
    }
    else
    {
        //g.setColor(Color.white);
        //g.drawString("Please press 'E' for Eruption part 2",160,276);
    }

 }

}

要显示标签,下面是修改的init()函数:

public void init() `{` `label1 = new Label("You see lava flowing down as you press e");` //v1 = new Volcano(); thr=new Thread(this); thr.start(); t=new Thread(this); t.start(); th= new Thread(this); count=0; addMouseListener(this); addKeyListener(this); add(label1); //to display label } 公共void init() `{` `label1=新标签(“按下e键时看到熔岩向下流动”)` //v1=新火山(); thr=新螺纹(该螺纹); thr.start(); t=新螺纹(本螺纹); t、 start(); th=新螺纹(该螺纹); 计数=0; addMouseListener(这个); addKeyListener(此); 添加(label1);//以显示标签 }
我已经有了一些代码。请在这个问题中发布您尝试过的代码,并让我们知道您做错了什么!!我不知道我对java小程序是一种不推荐的技术有什么新的看法,而你(或者更好的是,你的教授)应该考虑迁移到别的东西。我必须不断地添加它。我曾经这样做过,但当我这样做时,它不会删除;要隐藏Label,当我单击使其爆发时,如何使其隐藏?另外,当我添加label1时,它不会使熔岩向下流动。