SWING概覽·SWING開發工具、流程、發布·網絡連接Socket和ServerSocket·Mina簡介·黑白棋從規則到思路·迷你瀏覽器的思路今晚要點第一講:JavaSwing組件技術在本單元您能了解如下知識點:Swing的“外觀和感覺”;Swing容器組件的編程;Swing中的標準對話框;Swing基本組件的編程;Swing的編程具體應用—設計出文本編輯器一、JavaSwing組件技術簡介Swing特性:是AWT的擴展,它比AWT提供了更多的組件和外觀。是Sun公司的新一代的圖形界面的標準。
采用Swing編寫窗口程序;<br> 如何在窗口中采用多種字體顯示文本;<br> 如何顯示圖像;
本章繼續介紹抽象窗口工具包(AWT)。在這里我們將要學習Java定義的標準控件和布局管理器,討論菜單和菜單欄,以及兩個高級組件:對話框和文件對話框。同時,還要介紹事件處理。控件(controls)是允許用戶同你的應用程序用各種方式進行交互的組件,例如,一個常用的控件是下壓式按鈕。布局管理器自動安排組件在容器中的位置。
在開始學習 Swing 之前,必須回答針對真正初學者的一個問題:什么是 UI?初學者的答案是“用戶界面”。但是因為本教程的目標是要保證您不再只是個初學者,所以我們需要比這個定義更高級的定義。
在開始學習 Swing 之前,必須回答針對真正初學者的一個問題:什么是 UI?初學者的答案是“用戶界面”。但是因為本教程的目標是要保證您不再只是個初學者,所以我們需要比這個定義更高級的定義。
BorderLayout 是WindowFrame和Dialog的缺省布局管理器。BorderLayout布局管理器把容器分成5個區域NorthSouthEastWest和Center每個區域只能放置一個組件。
Java提供的JFrame類的實例是一個底層容器,即通常所稱的窗口。其他組件必須被添加到底層容器中,以便借助這個地層容器和操作系統進行信息交互。JFrame類是Container類的間接子類。當需要一個窗口時,可使用JFrame或其子類創建一個對象。
Swing 是 Java 平臺的 UI —— 它充當處理用戶和計算機之間全部交互的軟件。它實際上充當用戶和計算機內部之間的中間人。Swing 到底是如何做這項工作的呢?它提供了處理前面一節中描述的 UI 各方面內容的機制
Swing組件是Java語言提供的第二代GUI設計工具包,它以AWT為基礎,在AWT內容的基礎上新增或改進了一些GUI組件,使得GUI程序功能更強大,設計更容易、更方便。"Swing"是開發新組件的項目代碼名,現在,這個名字常用來引用新組件和相關的API。AWT組件和對應的Swing組件,從名稱上很容易記憶和區別。例如,AWT的框架類、面板類、按鈕類和菜單類,被命名為Frame、Panel、Button和Menu,而Swing對應的組件類被命名為JFrame、JPanel、JButton和JMenu。與AWT組件相比,Swing組件的名前多一個 “J” 字母。另外,AWT 組件在java.awt包中,而Swing組件在javax.swing包中。
JTable只是一個界面,主要負責顯示功能,但JTable對象具體顯示多少行多少列,甚示每行每列中顯示什么類型的數據,JTable中的單元格是否可編輯,編輯之后怎么辦…關于數據提供和數據操作的實現,都是由這個JTable對象的TableModel對象所負責的;反向而言,當JTable對象界面的數據被改動時,JTable會自動調用自己模型中的方法將改動反映到模型中。
首先,我們學習一些基本的圖形編程知識,包括窗口的顯示及外觀設置、在窗口中顯示文字和圖像等; 接下來,介紹Java的事件處理機制,例如如何在程序中接收并處理如鍵盤按鍵和鼠標點擊等“事件”; 最后,系統地介紹圖形用戶界面中常用組件的用法,如布局管理器、文本框、復選框、菜單、對話框等。
抽象窗口工具包AWT (Abstract Window Toolkit) 是 API為Java 程序提供的建立圖形用戶界面GUI (Graphics User Interface)工具集,AWT可用于Java的applet和applications中。它支持圖形用戶界面編程的功能包括: 用戶界面組件;事件處理模型;圖形和圖像工具,包括形狀、顏色和字體類;布局管理器,可以進行靈活的窗口布局而與特定窗口的尺寸和屏幕分辨率無關;數據傳送類,可以通過本地平臺的剪貼板來進行剪切和粘貼。
在開始學習Swing之前,必須回答針對真正初學者的一個問題:什么是UI?初學者的答案是“用戶界面”。但是因為本教程的目標是要保證您不再只是個初學者,所以我們需要比這個定義更高級的定義。
SAF能做什么?1.管理窗口的啟動和關閉,對整個窗體進行管理。其中繼承SingleFrameApplication類就不需要手動設置窗體的位置和大小,程序會自動記住上次打開窗體的位置和大小。如果需要手動設置窗體的屏幕位置或大小,就繼承application類即可。
Swing應用程序中線程介紹,一個Swing程序中一般有下面三種類型的線程:<br> 1、初始化線程(InitialThread)<br> 2、UI事件調度線程(EDT,EventDispatchThread)<br> 3、任務線程(WorkerThread)<br> 每個程序必須有一個main方法,這是程序的入口。該方法運行在初始化或啟動線程上。初始化線程讀取程序參數并初始化一些對象。在許多Swing程序中,該線程主要目的是啟動程序的圖形用戶界面(GUI)。一旦GUI啟動后,對于大多數事件驅動的桌面程序來說,初始化線程的工作就結束了。
Swing 的MVC結構、樹的概念、樹組件JTree的使用、表格組件JTable的使用。
一個好的用戶界面(GUI)的設計通常可以在現實世界找到相應的表現。例如,如果在您的面前擺放著一個類似于電腦鍵盤按鍵的一個簡單的按鈕,然而就是這么簡單的一個按鈕,我們就可以看出一個GUI設計的規則,它由兩個主要的部分構成,一部分使得它具有了按鈕應該具有的動作特性,例如可以被按下。另外一部分則負責它的表現,例如這個按鈕是代表了A還是B。 看清楚這兩點你就發現了一個很強大的設計方法,這種方法鼓勵重用reuse,而不是重新設計redesign。你發現按鈕都有相同的機理,你只要在按鈕的頂上噴上不同的字母便能制造出“不同”的按鈕,而不用為了每個按鈕而重新設計一份圖紙。這大大減輕了設計工作的時間和難度。 如果您把上述設計思想應用到軟件開發領域,那么取得相似的效果一點都不讓人驚奇。一個在軟件開發領域應用的非常廣泛的技術Model/View/Controller(MVC)便是這種思想的一個實現。
Swing組件的paint方法是內部接口方法,一般用戶不要直接調用這個方法,它總是在事件調度線程中調用。一般說來除了系統刷新事件觸發這個方法,Component的repaint也觸發這個方法的調用。repaint方法常用于當組件狀態發生變化時刷新界面使用。repaint方法是Swing中少數幾個線程安全的方法,可以在任何線程中調用它。它的原理是往事件隊列中post一個PAINT事件。由于事件隊列的事件是被事件調度線程同步執行的,所以這個方法總是線程安全的。事件調度線程從PAINT事件中獲取事件源組件,從系統申請到圖形設備資源后,調用該組件的update方法。update是AWT時代遺留下來的產物,本意是AWT組件畫好組件背景后,再調用paint方法畫出組件的前景。Swing出現后這個方法就被棄用了,所有邏輯都轉到paint方法里。Update只是簡單地調用paint方法來完成組件的渲染。老的Java教材上經常可以看到,所謂repaint調度update方法,update接著調用paint方法,自定義組件需要重載paint方法等話語,就是因為這個歷史造成的。
Java Swing控件屬性歸納總結了解各種用戶界面組件:JButton、JLabel、JTextField、JTextArea、JComboBox、Jlist、JCheckBox、JRadioButton、JMenuBar、JMenu、JMenuItem、JCheckBoxMenuItem、JRadioButtonMenuItem、JScrollBar、JScrollPane、JTabbedPane等。