たにぐちBLOG

C#が好きでたまんない

  PASSJブログ :: ホーム :: 連絡をする :: RSS  :: ATOM :: Login
  31 投稿数 :: 0 ストーリー :: 57 コメント :: 10 トラックバック

過去の記事

カテゴリ

イメージギャラリ

.NET framework 2.0でThread中で別Threadのコントロールにアクセスに失敗するという件がありましたが、これをJava AWTでやってみました。
結論は、「問題なし」でした。サンプルコードは下記の通りです。

import java.awt.*;
import java.awt.event.*;

public class ThreadTest
{
   public static void main(String[] args)
   {
      TestFrame frm = new TestFrame();
      frm.setSize(200, 100);
      frm.show();
   }
}

class TestFrame extends Frame implements ActionListener
{
    Button threadStartButton;
    Label label;
    TestFrame()
    {
      setLayout(new FlowLayout());
      threadStartButton = new Button("Thread Start");
      add(threadStartButton);
      threadStartButton.addActionListener(this);
      label = new Label("LABEL");
      add(label);
      addWindowListener(new WindowAdapter()
         {public void windowClosing(WindowEvent e) {setVisible(false);}});
    }
 
   public void actionPerformed(ActionEvent event)
   {
      if(event.getSource() == threadStartButton)
      {
         TestThread testThread = new TestThread(label);
      }
   }
}

class TestThread implements Runnable
{
   Thread thread;
   Label label;
   TestThread(Label lbl)
   {
      label = lbl;
      thread = new Thread(this, "test");
      thread.start();
   }
   public void run()
   {
      //ラベルに値を設定
      label.setText("OK");
   }
}

投稿日時 : 2004年8月22日 20:57

コメントを追加

No comments posted yet.

コメント

タイトル:
名前:
Url:
コメント: