隨筆-16  評論-50  文章-2  trackbacks-0

          上一篇中的Bounce程序,由于 addBall 方法阻塞了事件隊列線程,導致事件隊列線程無法再響應其他界面事件。因此,點擊 Start 按鈕后,程序就好像死機一樣。如果啟動一個新的線程,問題就迎刃而解了。

           

          源代碼

          下載地址:http://www.aygfsteel.com/Files/jeff-lau/bounce.zip

          下面是部分源代碼。

          /**
          * @(#) BounceFrame.java 2007-12-31
          *
          * Copyright? 2007 Jeff. 該源代碼遵循BSD開源協議。
          */

              private void addBall() {
                  new Thread(new Runnable() {
                      public void run() {
                          Ball ball = ballPanel.addBall();
                          try {
                              for (int i = 0; i < 1000; i++) {
                                  ball.move(ballPanel.getBounds());
                                  ballPanel.repaint();
                                  Thread.sleep(3);
                              }
                          } catch (InterruptedException e1) {
                              e1.printStackTrace();
                          }
                      }
                  }).start();
              }

           

          啟動一個新線程

          // 創建一個Runnable接口的實現
          Runnable r = ...;

          //創建一個Thread對象
          Thread t = new Thread(Runnable r);

          // 啟動線程
          t.start();

          還有一個啟動線程的方法,就是直接從Thread派生一個類,而不是實現Runnable接口。如:

          //MyThread是Thread類的一個子類
          Thread t = new MyThread();
          t.start();

          posted on 2007-12-31 22:45 Jeff Lau 閱讀(254) 評論(0)  編輯  收藏 所屬分類: 跟老劉學Java
          版權聲明:可以任意轉載,轉載時請務必以超鏈接形式標明文章原始出處和作者信息及本版權聲明。
          <2007年12月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 额济纳旗| 凤山市| 循化| 城步| 北宁市| 三都| 昌都县| 水城县| 昭苏县| 翁牛特旗| 舞阳县| 昌江| 米泉市| 榆林市| 墨脱县| 龙胜| 南江县| 普宁市| 沂水县| 洞口县| 吴川市| 昌邑市| 灌南县| 双辽市| 河东区| 洞口县| 太仆寺旗| 壤塘县| 怀来县| 道孚县| 天镇县| 红原县| 新源县| 通化市| 茶陵县| 永德县| 湖口县| 宁阳县| 丹棱县| 彭山县| 仁化县|