1. 程式人生 > >SWT開發Java應用程式GUI入門

SWT開發Java應用程式GUI入門

第一次做了Java GUI,我選擇用elipse自己的前段開發工具 SWT/JFace。這篇文章是基於eclipse MARS.2.  用SWT編寫的GUI的風格如下:

                                                                       

1、 SWT中的一些概念

1.1 Display & Shell

Display 和 Shell 類是SWT中重要的元件。 org.eclipse.swt.widgets.Shell 這個類代表視窗。org.eclipse.swt.widgets.Display主要負責時間迴圈、字型、顏色、UI執行緒和其他執行緒之間的通訊(這個功能非常重要,在後面的例子中會說到,UI 執行緒和非UI執行緒之間通訊,如果不獲取Display的話,會報”無法訪問執行緒“的錯誤)。Display 是左右SWT元件的基礎。

每個SWT應用要求至少有一個Display 和一個或多個shell物件。主視窗shell的建構函式把Display作為預設引數。例如:

Display display = new Display();
Shell shell = new Shell(display);
shell.open();
 
// run the event loop as long as the window is open
while (!shell.isDisposed()) {
   // read the next OS event queue and transfer it to a SWT event
 if (!display.readAndDispatch())
  {
 // if there are currently no other OS event to process
 // sleep until the next OS event is available
   display.sleep();
  }
}
 
// disposes all associated windows and their components
display.dispose();

1.2 SWT 視窗中的部件

SWT編寫程式的視窗部件都在包org.eclipse.swt.widgets 和 org.eclipse.swt.custom中, 下圖是是一些部件的圖樣:

相關推薦

SWT開發Java應用程式GUI入門

第一次做了Java GUI,我選擇用elipse自己的前段開發工具 SWT/JFace。這篇文章是基於eclipse MARS.2.  用SWT編寫的GUI的風格如下:                                                     

開發筆記9 | 部署 Java 應用程式到阿里雲 EDAS

前言 在之前的一篇文章中,我們介紹了 如何將一個本地的 Java 應用程式直接部署到阿里雲 EDAS ,有不少讀者反饋,如果目前已經在使用阿里雲 EDAS 了,那該如何配合這個外掛部署應用呢?在本文中,我們來介紹 部署 Java 應用程式到阿里雲 EDAS。 關於 EDAS EDAS 是一個圍繞應用和微

Java應用程式開發學習之Iterator介面

Iterator是Java中的一個介面: 該介面提供瞭如下方法: 通過前面https://blog.csdn.net/morixinguan/article/details/85006962介面的學習我們已經瞭解到,介面需要一個子類去實現它的方法,而在相關的類中已經實現了對應

Java應用程式開發學習之多型

在Java中,使用關鍵字extends繼承或者關鍵字implements實現,是Java實現多型性的前提。 一、Java多型定義的格式 父類引用指向之類物件稱之為多型,多型的定義格式主要有兩種。 (1)父類名稱 物件名 = new 子類名稱(); (2)介面名稱 物件名 = new

Java應用程式開發學習之介面

一、介面的抽象方法定義: 在任何版本的java中,介面都能定義抽象方法 格式: public abstract 返回值型別 方法名稱(引數列表); 注意事項: 1.介面當中的抽象方法,修飾符必須是兩個固定的關鍵字:public abstract 2.這兩個關鍵字修飾符,可以選擇性省略

Java應用程式開發學習之繼承

面對物件程式語言有三類特性,分別是封裝性、繼承性以及多型性。 本節就來簡單介紹下Java的繼承。 一、繼承的簡單介紹、特點、規則 繼承是多型的前提,如果沒有繼承,就沒有多型。繼承主要解決的問題是:共性抽取(解決重複程式碼的問題)。 Java繼承知識點裡兩個重要的名詞:父類和子類

Java應用程式開發學習之static關鍵字應用

Java的static關鍵字和C/C++語言的關鍵字有所不同: 一旦在Java裡使用了static關鍵字,那麼這樣的內容不再屬於物件自己,而是屬於類本身的,所以凡是本類的物件,都共享一份。 1、使用Java static關鍵字修飾成員變數 以下是Stundent類。 packag

Java應用程式開發學習之String類的使用方法

在原來文章介紹了有關Java程式開發的詳細步驟: https://blog.csdn.net/morixinguan/article/details/84956938 Java字串主要有以下特點: 1、字串的內容永不改變 2、由於字串的內容不可改變,所以字串是可以共享使用的,類似於C

Java應用程式開發學習之集合ArrayList類的使用方法

在原來文章介紹了有關Java程式開發的詳細步驟: https://blog.csdn.net/morixinguan/article/details/84956938     這節,來介紹下集合ArrayList的使用方法,回到上一篇文章的,我們一樣跟著腳步來學習使用

Java應用程式開發學習之程式編寫步驟詳細解析

最近需要預備APK的開發,由於接觸java不多,久而久之也就忘了,寫個部落格做一下學習備忘。 牢記開發步驟,才能避免以後不會走彎路。 1、開啟JDK APIXXX手冊(這裡以JDK API1.6中文版為例,找Scanner類的使用方法) 2、導包    

java應用之solr入門

brush 文檔 light article logs 模糊查詢 solr入門 文件 啟動 前言 solr是apache項目的一款全文搜索應用. 官方文檔http://lucene.apache.org/solr/guide/6_6/ 入門流程

使用Eclipse開發Java應用並部署到SAP雲平臺SCP上去

runt 安裝 配置 str https upload 路徑 本地 主機 1. 首先根據這個鏈接配置好Eclipse。 確保SAP Cloud Platform Tools for Java正確安裝。 確保neo SDK的路徑配置正確: 我使用的是下圖這個SDK:neo

Fiddler監聽Java應用程式http請求方法(Configure a Java Application to Use Fiddler)

Fiddler官網:http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureJavaApp Configure a Java Application to Use Fiddler 要配置Java應用程式以向Fiddle

Java應用程式效能監控

Java應用程式效能監控 您想知道Java Runtime環境的執行狀況嗎? 您想監控執行緒死鎖、異常記憶體、CPU消耗和Java應用程式嗎? 監控Java應用程式 利用ManageEngine Applications Manager Java Runtime 監控功能,可以監

編寫一個Java應用程式,當用戶在輸入對話方塊中輸入兩個日期後(日期格式為YYYYMMDD,如1999年1月12日應輸入為19990112),程式將判斷兩個日期的先後順序,以及兩個日期之間的間隔天數(例

編寫一個Java應用程式,當用戶在輸入對話方塊中輸入兩個日期後(日期格式為YYYYMMDD, 如1999年1月12日應輸入為19990112), 程式將判斷兩個日期的先後順序, 以及兩個日期之間的間隔天數(例如1999年1月1日和1999年1月2日之間的間隔是1天。  

Java應用程式中將PDF轉換為圖片和將圖片轉換為PDF

這篇文章將介紹如何在Java應用程式中將PDF檔案轉換為圖片以及將圖片轉換為PDF檔案。 使用元件: Free Spire.PDF for JAVA Free Spire.PDF for JAVA是一款完全免費的PDF Java元件,開發人員可以使用它在Java應用程式中進行建立PD

c#工程師用Visual Studio開發dapp應用程式

最近區塊鏈技術引起了我的注意。我剛開始瞭解它,就看到了區塊鏈去中心化架構的巨大潛力,並且它能夠簡化各種現有繁瑣的流程,通過各種形式的合約。 作為一名.NET開發人員,我主要使用的是一些提供中心資料來源的架構,因此區塊鏈的去中心化概念對我來說是全新的。我很快就看到它如

冷門的 Java 應用程式安全沙箱機制瞭解一下

如果你經常閱讀原始碼,你會發現 Java 的原始碼中到處都有類似於下面這一段程式碼 class File { // 判斷一個磁碟檔案是否存在 public boolean exists() { SecurityManager security = System.getSecurityMana

<Java>完成一個“可以由使用者鍵入文字內容,並輸出其字元個數”的Java應用程式

一、任務目標     完成一個 java application應用程式,可以接收使用者通過鍵盤輸入的文字,並輸出此段文字字元的個數。   二、Scanner類     Scanner是JDK1.5新增的一個類,可以使用該類建立一個物件。它是一個可以使用正則表示

Java 應用程式啟動停止暫停啟動指令碼

#!/bin/sh # Author Pine Chown # date 2018-12-06 # desc 程式啟動暫停指令碼 APP_HOME=/usr/local/java/application #啟動的程式名稱 APP_NAME=charging # 配置檔案生產環境