<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Sealyu

    --- 博客已遷移至: http://www.sealyu.com/blog

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      618 隨筆 :: 87 文章 :: 225 評論 :: 0 Trackbacks
    最近在做的一個基于Eclipse RCP的下載工具,需要監視系統剪貼板中。
    自己在實現的時候主要遇到了兩個問題:
    1.如果監視線程使用非UI線程,則不能去訪問剪貼板
    2.如果監視線程使用UI線程,則該線程將導致界面阻塞
    我找到了兩個解決的辦法:
    1.使用UIJob
    UIJob job = new UIJob("ClipBoardMonitorUIJob") {
    @Override
    public IStatus runInUIThread(IProgressMonitor monitor) {
    String textData = (String) clipboard.getContents(textTransfer);
    if (!StringUtils.isEmpty(textData) && !textData.equals(last)) {
    last = textData;
    notifyListeners(last);
    System.out.println("剪貼板改變" + last);
    }
    if (run)
    this.schedule(INTERVAL);
    return Status.OK_STATUS;
    }
    };
    在這個UIJob中自動的啟動下一次對剪貼板的查詢,因為都是在UI線程中執行,所以不會產生UI線程訪問的問題。在UIJob結束時計劃下一次執行的時間。

    2.使用線程
    public void checkClipBoard() {
    display.asyncExec(new Runnable() {
    public void run() {
    String textData = (String) clipboard.getContents(textTransfer);
    if (!StringUtils.isEmpty(textData) && !textData.equals(last)) {
    last = textData;
    notifyListener(last);
    System.out.println("剪貼板改變" + last);
    }
    }
    });
    }

    public void run() {
    while (run && !this.isInterrupted()) {
    checkClipBoard();
    try {
    Thread.sleep(5000);
    } catch (Exception e) {
    run = false;
    }
    }
    }
    在線程中使用Display.asyncExec或者Display.syncExec執行檢查剪貼板的操作。
    posted on 2008-06-19 20:26 seal 閱讀(367) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 免费观看美女裸体网站| 我的小后妈韩剧在线看免费高清版| 免费羞羞视频网站| 在线观看亚洲AV每日更新无码| 在线观看无码AV网站永久免费| 亚洲婷婷第一狠人综合精品| 日韩精品成人无码专区免费| 亚洲AV成人一区二区三区在线看| 成在人线AV无码免费| 亚洲av日韩av永久在线观看| 国产在线ts人妖免费视频| 看亚洲a级一级毛片| 亚洲区小说区图片区| 中文字幕在线视频免费观看| 久久青草亚洲AV无码麻豆| 亚洲毛片免费视频| 亚洲va在线va天堂成人| 日本牲交大片免费观看| 一级成人a做片免费| 久久亚洲精品成人AV| 午夜免费福利影院| 特黄aa级毛片免费视频播放| 亚洲情综合五月天| 67pao强力打造高清免费| 亚洲AV男人的天堂在线观看| 夜色阁亚洲一区二区三区| 国内永久免费crm系统z在线| 亚洲免费黄色网址| 国产在线观看www鲁啊鲁免费| 伊人免费在线观看高清版| 亚洲最大在线视频| 国产一区二区三区免费看| 182tv免费视频在线观看| 亚洲同性男gay网站在线观看| 亚洲AⅤ永久无码精品AA| 无码国产精品一区二区免费16| 在线a亚洲老鸭窝天堂av高清| 亚洲日韩精品无码一区二区三区| 中文字幕免费在线看线人 | 国产精品亚洲精品日韩已方| 久久这里只精品国产免费10|