11-Java 界面設計


 

(一)Java界面設計概述

  1、Java 界面設計的用途

  2、AWT 簡介
(1)Abstract Windows Toolkit 是最原始的工具包。

  3、Swing 簡介

  4、SWT 簡介

  5、如何選擇 GUI 工具包(以上三個都是)

  Swing 是最靈活、強大的GUI工具包,所以在界面開發中,首選Swing。

  只有一種場合不適用於Swing:

  在使用SWT開發的程序上繼續編寫界面,比如為Eclipse 開發插件(因為Ecilpse 是基於SWT構建的)。SWT與Swing 不兼容,他們不能混合使用。

(二)Swing 框架的基本結構

  1、Swing 框架的繼承關系

  2、Swing 的 MVC 結構
  創建一個新的工程,名為TestMVC。在src 里面 new 一個 (最后的other 的windowbuilder 的Swing Designer 的JFrame 。名為Test )。會出現一些代碼,屬於底下的Source,旁邊的Design 即可設計。
  MVC :Model View Control 模型(存儲相關的數據)+視圖(表達視覺元素)+控制(負責他們之間的相互關系以及執行一些程序的邏輯和程序的真實走向)。

 

 

3、Swing的事件機制

(三)Swing基本組件

1、WindowBuilder 的安裝與簡介

2、窗體控件 JFrame 的使用

3、容器控件 JPanel 的使用

4、標簽控件 JLabel 的使用

5、按鈕控件 JButton 的使用

6、文本框控件 JTextField 與 JTextArea 的使用

JTextField :文本框,只能輸入一行

JTextArea:文本區域,可輸入多行

7、單選與復選控件 JRadioButton 與 JCheckBox 的使用

單選在描寫代碼的時候,if語句要用else。而復選則應該用相互獨立的若干個if

8、列表控件 JList 的使用

 

9、下拉菜單 JComboBox 的使用

 

10、進度條控件 JProgressBar 的使用

11、數字調節控件 JSpinner 的使用

12、Swing 界面組件的通用屬性

(四)Swing 布局管理器

1、Absolute Layout絕對布局

沒有任何限制,可以在窗口界面中任意擺置控件

2、Flow Layout浮動布局

可以浮動,但不是相互疊加。指大小在發生變化的時候,它們的相對位置可以改變。

3、Border Layout邊界布局

這是默認的布局。任意拖拽一個按鈕啊控件,即可顯示,如下:共5個邊界。

 

4、Grid Layout網格布局

平均分!

5、Group Layout分組布局

是Swing 中最強大的布局管理器,非常靈活、動態,支持元素對齊、邊界吸附、控件的動態大小調整。

(五)自定義Swing組件

1、Swing 的繪圖機制·

2、Swing 繪圖 API

3、使用 Java2D 改善 API 的繪制效果

4、使用繪圖API自定義組件

5、為組件設定UI

6、使用 LookAndFeel 為界面更換皮膚

(六)Swing菜單的使用

1、界面菜單簡介

2、窗體菜單欄的創建與使用

新建一個JFrame。Design 、在左側選擇“menu”:里面有~~~

JMenu 和 JMenuitem 的區別:前者包含后者,后者不可再分。

3、彈出菜單的創建與使用

4、為MacOSX系統優化菜單欄

 

(七)Swing界面響應與線程安全

1、主線程與UI線程簡介

(1)Java 程序的主線程

當Java 程序啟動時,一個線程立刻運行,該線程通常叫做程序的主線程(main thread),因為它是程序開始時就執行的。一般來說,該類中會有一個main 函數,當程序啟動時,該函數就會第一個自動地得到執行,並成為程序的主線程。主線程的特征如下:

A、它是產生其他子線程的線程

B、主線程中執行程序的控制

C\、通常它必須最后完成執行,因為它執行各種關閉動作。

【永遠不在主線程中操作界面】

 

2、UI線程中非安全操作與安全操作

Swing API 的設計目標是強大、靈活和易用。但是Swing 組件不支持多線程訪問,程序要操作或更改界面內容,必須向單一線程執行請求,我們把這個單一的線程稱為事件派發線程(可簡稱為UI線程)。這也就意味着Swing 是線程不安全的,所有對於UI元素的修改都必須提交給UI線程執行,你不能在主線程或其他任何線程中直接操作UI的內容。

 

如果需要從UI線程或繪制代碼以外的地方訪問UI,那么你需要使用SwingUtilities;類的invokeLater() 或InvokeAndWait()方法。

 

如果你需要處理一些耗費大量計算能力或受I/O能力限制的工作,可以使用一個線程工具類如SwingWorker 或Timer。

3、使用Timer為界面執行異步任務

4、使用SwingWorker為界面執行異步任務

 

(八)界面消息提示

1、JoptionPane 簡介

2、使用 showConfirmDialog 顯示確認框

3、使用 showMessageDialog 顯示消息提示框

4、使用 showInputDialog 顯示輸入框

5、使用 showOptionDialog 顯示多項選擇框.

 

(九)Java文件選擇器

1、JFileChooser簡介

2、使用文件選擇器打開文件

3、使用文件選擇器保存文件

4、為文件選擇器設定擴展名過濾

 

 

(十)Java視頻播放器的制作       

1、工程的准備

2、工程創建與配置

3、制作主界面

4、制作視頻控制器

5、制作菜單欄

6、添加音量控制組件

7、導出程序

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM