2016-04-25 9 views
0

eを押したときにクリックしてラベルを削除するコードを作成しようとしています。誰かが私には、以下のラベルを表示するには、これは本当に難しい 私はラベルを追加し、私はそれをコンパイルするようになったが、ラベルは表示されませんし、その私はそれに取り組んで私のグラフィックスプロジェクトのためJavaアプレットラベルの追加と削除

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); 
    } 

} 

} 
+0

私はすでにいくつかのコードを持っています。 –

+1

あなたの試したコードをこの質問に投稿し、あなたが間違ったことをお知らせください! –

+0

私はこの種の新機能がわかりません –

答えて

-1

を行うことを助けることができます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 
} 


+0

私はそれを一度行いましたが、私はそれを削除しませんでした。 –

+0

use label1.setVisible(false);ラベルを非表示にする – Ktonneh

+0

クリックして噴出させるにはどうすれば隠すことができますか?また、ラベル1を追加すると、溶岩の流れが見えなくなります。 –

関連する問題