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

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

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

    The Goal
    Keep walking……
    posts - 23,  comments - 1,  trackbacks - 0
    • SWT應(yīng)用程序的三段式結(jié)構(gòu):

    package com.swtjface.Ch2;

    import org.eclipse.swt.*;

    import org.eclipse.swt.widgets.*;

    public class HelloSWT {

    public static void main (String [] args) {

    Display display = new Display();

    Shell shell = new Shell(display); //1.Allocation and initialization。
    /*生成一個(gè)DisplayShell類(lèi)的實(shí)例,GUI獲取底層平臺(tái)的資源并開(kāi)辟了一個(gè)主窗口。*/

    Text helloText = new Text(shell, SWT.CENTER);

    helloText.setText("Hello SWT!");

    helloText.pack();//2.Adding widgets to the shell

    /* Shell 上加入一個(gè)文本小部件。The code in this section also sets the parameters for these widgets, containers, and events to make sure they look and act as required.其中pack()方法是tell the Shell and Text components to use only as much space as they need.*/

    shell.pack();

    shell.open();

    while (!shell.isDisposed()){

    if (!display.readAndDispatch()) display.sleep();

    }

    display.dispose(); //3.GUI operation

    /*一旦Shell的open()方法被調(diào)用,應(yīng)用程序的主窗口和其子部件都會(huì)被呈現(xiàn)。只要Shell保持在打開(kāi)狀態(tài),Display實(shí)例就會(huì)通過(guò)它的readAndDispatch()方法來(lái)追蹤在操作系統(tǒng)事件隊(duì)列中的相關(guān)用戶(hù)事件。當(dāng)窗口關(guān)閉時(shí),與Display對(duì)象(包括Shell以及其子部件等)相聯(lián)系的資源就全部釋放*/

    }

    }

    • Display 類(lèi)

    Display 類(lèi)并不是可見(jiàn)的,但它負(fù)責(zé)監(jiān)管著 GUI 的資源并管理著和操作系統(tǒng)的通信。它不光要關(guān)注著它自己的窗口是如何顯示、移動(dòng)和重畫(huà)的,還同時(shí)要確保諸如鼠標(biāo)點(diǎn)擊、鍵盤(pán)敲擊等事件送達(dá)widgets并去處理它們。

    是任何 SWT JFace 應(yīng)用程序的承載著,無(wú)論你是用 SWT/JFace 開(kāi)發(fā)或是單用 SWT 開(kāi)發(fā),你必須在你的程序中包含這個(gè)類(lèi)的一個(gè)實(shí)例。

    Display 類(lèi)的主要任務(wù)就是負(fù)責(zé)將你的代碼重的 SWT JFace 命令翻譯成底層的命令來(lái)調(diào)取操作系統(tǒng)。 這一過(guò)程包含了兩部分: 1.Display 對(duì)象構(gòu)建一個(gè)代表著操作系統(tǒng)平臺(tái)的 OS 類(lèi)的實(shí)例;這個(gè)類(lèi)通過(guò)一系列被稱(chēng)之為native methods的特殊 Java 程序提供了接觸計(jì)算機(jī)底層資源的途徑。2. 這個(gè) Display 對(duì)象使用這些方法來(lái)直接指令操作系統(tǒng)并向應(yīng)用程序傳達(dá)用戶(hù)動(dòng)作。

    if any features in your operating system aren’t incorporated into SWT, you can use the Java Native Interface to add them yourself.All it requires is a native Java method in the SWT package and a C function in the native graphics library that calls the operating system.

    • Display 類(lèi)的方法

    1.Display()--Allocates platform resources and creates a Display object
    must be used in any SWT-based GUI.它產(chǎn)生一個(gè)Display類(lèi)的實(shí)例并將其和GUI相聯(lián)系
    2.getCurrent()--Returns the user-interface thread
    must be used in any SWT-based GUI.它返回一個(gè)應(yīng)用程序的主線程,用戶(hù)界面線程,通常和dispose()一起使用來(lái)結(jié)束Display的操作。
    3.readAndDispatch()--Display object interprets events and passes them to receiver
    enable the application to receive notifications from the operating system whenever the user takes an action associated with the GUI.
    accesses the operating system’s event queue and determines whether any of the user’s actions are related to the GUI.
    Using this method, the HelloSWT class knows whether the user has decided to dispose of the Shell. If so, the method returns TRUE, and the application ends. Otherwise, the Display object invokes its sleep() method, and the application continues waiting.
    4.sleep()--Display object waits for events
    enable the application to receive notifications from the operating system whenever the user takes an action associated with the GUI.

  • Shell 類(lèi)
  • The Shell class accesses the operating system through the OS class to an extent, but only to keep track of opening, activating, maximizing, minimizing, and closing the main window.

    The main function of the Shell class is to provide a common connection point for the containers, widgets, and events that need to be integrated into the GUI. Shell serves as the parent class to these components.

    attached to the Display的shell--top-level shells
    NOT directly attached to the Display instance的shell--secondary shell

    在你的GUI之內(nèi),你可以設(shè)定shell或其他小部件的風(fēng)格參數(shù)值,若是多個(gè)值則可以用“|”相連.除了提到的屬性,默認(rèn)為“SHELL_TRIM”。

    SHELL_TRIM--有一個(gè)標(biāo)題欄(SWT.TITLE)和用戶(hù)可以最小化SWT.MIN)、最大化(SWT.MAX)、改變尺寸(SWT.RESIZE)和關(guān)閉(SWT.CLOSE)
    DIALOG_TRIM--有一個(gè)標(biāo)題欄、一個(gè)活動(dòng)區(qū)的邊界(SWT.BORDER)和被關(guān)閉的能力

    你還可以確定
    shell的形態(tài),以限定用戶(hù)修改shell的modality,如A modal dialog box不能被移動(dòng)或是改變尺寸,只可以使用給予的按鈕關(guān)閉或是取消。


    NOT?every platform can render these properties in GUI components.

    posted on 2006-03-15 13:51 JOO 閱讀(354) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): SWT & JFace IN ACTION

    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    Hit the target!

    <2006年3月>
    2627281234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    常用鏈接

    留言簿(2)

    隨筆分類(lèi)(23)

    隨筆檔案(22)

    文章檔案(1)

    相冊(cè)

    Neighbor

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 免费A级毛片无码A∨免费| 亚洲综合色一区二区三区| 曰韩无码AV片免费播放不卡| 成人在线免费观看| 亚洲av成人综合网| 97无码免费人妻超级碰碰碰碰| 亚洲欧洲日本国产| 九九精品免费视频| 亚洲狠狠婷婷综合久久| 拔擦拔擦8x华人免费久久| 亚洲av无码专区国产不乱码| 国产成人精品高清免费| 一级毛片正片免费视频手机看| 亚洲黄片毛片在线观看| 亚美影视免费在线观看| 国产国拍亚洲精品mv在线观看| 国产日韩AV免费无码一区二区| 亚洲av片劲爆在线观看| 最近的中文字幕大全免费8 | 亚洲精品无码久久一线| 免费日本一区二区| 亚洲国产电影在线观看| 日韩免费一区二区三区| 国产精品极品美女自在线观看免费| 亚洲精品成人片在线观看精品字幕 | 亚洲春色在线视频| 久久综合国产乱子伦精品免费| 亚洲妇女水蜜桃av网网站| 在线中文高清资源免费观看| 无人视频在线观看免费播放影院| 亚洲精品午夜国产VA久久成人 | 少妇人妻偷人精品免费视频| 亚洲专区中文字幕| 亚洲成A人片在线观看无码3D | 一区二区三区视频免费| 亚洲无线电影官网| 免费看又爽又黄禁片视频1000| 国产黄色免费观看| 亚洲国产精品综合久久20| 亚洲精品一级无码中文字幕| 狼群影院在线观看免费观看直播|