| nikedeforest | 
								|  | «  : 19-05-2006 08:03 »  |  | 
 
 Дело в том, что элементы управления которые я создаю в классе Hello_World унаследованного от Applet, в методе init() появляются. А вот элемент управления который я создаю в классе NewThread не создаются (или не появляются). Также, если я не ошибаюсь, (проверить счейчас не могу) не появляется элемент управления, если я его создаю в классе Hello_World, но не в методе init(), а в каком либо другом. Вопрос? Что надо сделать, чтобы элемент управления отображался вне зависимости от того, где я его создаю Вот код, навсякий случай кидаю весь import java.applet.*;import java.awt.*;
 import java.awt.event.MouseEvent;
 import java.awt.event.MouseListener;
 import java.awt.Graphics;
 
 
 
 
 public class Hello_World extends Applet implements MouseListener
 {
 private boolean StartThread;
 private Font font;
 private int X, Y;
 private StringBuffer my_comment;
 private StringBuffer EventString;
 private int button, clickCount;
 private NewThread thThread1, thThread2;
 public Label static_Label, dynamic_Label;
 public Button sLabel, dLabel;
 
 
 public void init()
 {
 StartThread=false;
 button=0; clickCount=0;
 my_comment=new StringBuffer("");
 EventString=new StringBuffer("");
 X=0; Y=0;
 addMouseListener(this);
 
 static_Label= new Label("Thread");
 dynamic_Label= new Label("0");
 add(static_Label);
 add(dynamic_Label);
 sLabel=new Button("sLabel");
 dLabel=new Button("dLabel");
 add(sLabel);
 add(dLabel);
 }
 
 public void paint(Graphics g)
 {
 
 
 ///--------------------myButton :)
 if(StartThread==false)
 {
 g.setColor(Color.RED);
 }
 else
 {
 g.setColor(Color.BLUE);
 }
 font=new Font("Times New Roman",Font.ITALIC,20);
 g.setFont(font);
 g.fill3DRect(10,400,60,40,true);
 if(StartThread==false)
 {
 g.setColor(Color.BLACK);
 g.drawString("Start", 20, 420);
 }
 else
 {
 g.setColor(Color.RED);
 g.drawString("Stop", 20, 420);
 }
 ///--------------------------------
 //The pink oval
 Color myColor=new Color(10,20,210);
 font = new Font("Arial",Font.ITALIC, 48);
 g.setColor(myColor);
 g.fillOval(10,210,350,100);
 g.setColor(Color.yellow);
 g.setFont(font);
 g.drawString("Hello World!!!",40,275);
 //////////////////////////
 //Pole information MouseEvent
 myColor=new Color(0xA2,0xA2,0xA2);
 g.setColor(myColor);
 g.fill3DRect(10,10,900,150,false);
 
 font=new Font("Times New Roman", Font.TRUETYPE_FONT,20);
 g.setFont(font);
 g.setColor(Color.BLACK);
 g.drawString("X="+X,10,30);
 g.drawString("Y="+Y,10,60);
 g.drawLine(10,70,700,70);
 g.drawString(""+my_comment,10,100);
 g.drawLine(10,110,700,110);
 g.drawString(""+EventString,10,140);
 
 ////////////ЭКстра параметра
 g.drawLine(70, 10, 70, 70);
 g.drawLine(220, 10, 220, 110);
 g.setColor(Color.LIGHT_GRAY);
 g.drawString("button=" + button, 100, 30);
 g.drawString("clickCount=" + clickCount, 100, 60);
 
 
 
 }
 
 public void update(Graphics g)
 {
 
 ///////////--------MyButton :)
 if(!StartThread)
 {
 g.setColor(Color.RED);
 }
 else
 {
 g.setColor(Color.BLUE);
 }
 font=new Font("Times New Roman",Font.ITALIC,20);
 g.setFont(font);
 g.fill3DRect(10,400,60,40,true);
 if(!StartThread)
 {
 g.setColor(Color.BLACK);
 g.drawString("Start", 20, 420);
 }
 else
 {
 g.setColor(Color.RED);
 g.drawString("Stop", 20, 420);
 }
 //-----------------------------
 //The pink oval
 Color myColor=new Color(10,20,210);
 font = new Font("Arial",Font.ITALIC, 48);
 g.setColor(myColor);
 g.fillOval(10,210,350,100);
 g.setColor(Color.yellow);
 g.setFont(font);
 g.drawString("Hello World!!!",40,275);
 
 //////////////////////////
 //Pole information MouseEvent
 myColor=new Color(0xA2,0xA2,0xA2);
 g.setColor(myColor);
 g.fill3DRect(10,10,900,150,false);
 font=new Font("Times New Roman", Font.TRUETYPE_FONT,20);
 g.setFont(font);
 g.setColor(Color.BLACK);
 g.drawString("X="+X,10,30);
 g.drawString("Y="+Y,10,60);
 g.drawLine(10,70,700,70);
 g.drawString(""+my_comment,10,100);
 g.drawLine(10,110,700,110);
 g.drawString(""+EventString,10,140);
 
 ////////////ЭКстра параметра
 g.drawLine(70, 10, 70, 70);
 g.drawLine(220, 10, 220, 110);
 g.setColor(Color.LIGHT_GRAY);
 g.drawString("button=" + button, 100, 30);
 g.drawString("clickCount=" + clickCount, 100, 60);
 
 }
 
 public void mouseExited(MouseEvent Event)
 {
 my_comment=new StringBuffer("I don't see cursor!!!");
 repaint(10,0,200,180);
 }
 public void mouseEntered(MouseEvent Event)
 {
 my_comment=new StringBuffer("I see cursor!!!");
 repaint(00,10,200,180);
 }
 public void mousePressed(MouseEvent Event)
 {
 X=Event.getX();
 Y=Event.getY();
 my_comment=new StringBuffer("I see cursor!!!");
 EventString=new StringBuffer(Event.paramString());
 repaint(0,0,1000,180);
 }
 public void mouseClicked(MouseEvent Event)
 {
 button=Event.getButton();
 clickCount=Event.getClickCount();
 repaint(10,10,1000,180);
 }
 public void mouseReleased(MouseEvent Event)
 {
 int x=Event.getX(), y=Event.getY();
 
 
 if((x>10 && x<70) && (y>400 && y<440 ))
 {
 StartThread = (!StartThread);
 
 
 if(StartThread)
 {
 
 thThread1 =  new NewThread("Thread1",300,400,0,static_Label);
 thThread1.StartThread();
 thThread2= new NewThread("Thread2",400,400,0,dynamic_Label);
 thThread2.StartThread();
 
 }
 else
 {
 thThread1.stop();
 thThread1.stop();
 }
 repaint(10, 0, 560, 540);
 }
 }
 ////////////////////////////
 }
 
 //------------------------------------------------------
 class NewThread extends Hello_World implements Runnable
 {
 private Thread thThread;
 private String sNameThread;
 private int x, y;
 private int Count;
 private volatile boolean running;
 private Label _label;
 private Label temp;
 
 NewThread()
 {
 x=0; y=0; Count=0; sNameThread=new String("Thread");
 thThread=new Thread(this);
 Count=0;
 
 }
 NewThread(String name, int x, int y, int begin_count, Label label)
 {
 sNameThread=new String(name);
 this.x=x;
 this.y=y;
 Count=begin_count;
 thThread= new Thread(this,sNameThread);
 _label=label;
 temp=new Label("Temp");
 add(temp);
 }
 
 public  void StartThread()
 {
 running=true;
 thThread.start();
 }
 
 public void run()
 {
 while(running)
 {
 Count++;
 String str=new String(" "+Count);
 _label.setText(str);
 //wait(100);
 }
 }
 public void stop()
 {
 running = false;
 }
 }
 
 
Не отображается элемент управления - объект класса Label temp. Остальные отображаются нормально. |