《JAVA》14容器與界面布局_第1頁
《JAVA》14容器與界面布局_第2頁
《JAVA》14容器與界面布局_第3頁
《JAVA》14容器與界面布局_第4頁
《JAVA》14容器與界面布局_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、容器與界面布局容器與界面布局圖形用戶界面概述容器類布局管理器圖形用戶界面(Graphics User Interface,GUI)是指使用包括窗口、圖標、組件等的圖形顯示方式,鼠標、鍵盤等輸入設備,事件驅動機制來實現(xiàn)與用戶進行交互操作的應用程序界面。計算機應用發(fā)展到現(xiàn)在,GUI已經(jīng)成為應用程序的基本要求。窗口及常見的圖形用戶界面元素設計圖形用戶界面,主要完成兩個任務: (1)根據(jù)程序的需要選擇恰當?shù)膱D形組件構造界面,并進行合理的布局。 (2)利用事件驅動機制定義界面組件與用戶之間的交互,對用戶行為進行響應。Java專門設計了類庫來滿足各種圖形用戶界面元素和用戶交互事件。Java的GUI類庫由j

2、ava.awt和javax.swing兩個包組成,分別稱為AWT組件庫和Swing組件庫。java.awt包, AWT, 抽象窗口工具集依賴本地GUI, “重型組件”(heavyweight component)javax.swing包, Swing組件庫不依賴本地GUI, “輕型組件”(lightweight compont)GUI類的分類:容器類 container class用來包含其他組件。如: JFrame, JPanel, JApplet, GUI類的分類:輔助類 helper class組件和容器用來繪制和放置對象如: Graphics, Color, Font, FontMet

3、rics, Dimension, GUI類的分類:組件類 component class用戶界面的組成部分如: JButton, JTextField, JTextArea, 容器是圖形用戶界面設計中必不可少的界面元素,它是用來放置其它組件的特殊組件。Swing容器類主要包括:頂層容器面板容器圖形用戶界面的頂層容器是指應用程序的最外層容器,通常直接出現(xiàn)在操作系統(tǒng)的桌面上,頂層容器不能再被其它容器包含。javax.swing.JFrame:用于構造GUI窗口的頂層容器類,是組織管理其它Swing組件形成復雜界面的基礎。javax.swing.JDialog:用于構造GUI對話框窗口的頂層容器類,

4、一般用于接收來自用戶的指令或通知事件發(fā)生的容器。Swing組件的頂層容器類主要有:import javax.swing.JFrame;public class MyFrame public static void main(String args) JFrame frame = new JFrame(My Frame);1. 創(chuàng)建框架 frame.setSize(400, 300); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); frame.setVisible

5、(true); 1. 創(chuàng)建框架掌握: 構造方法; 設置窗口大小; 顯示窗口import javax.swing.*;import java.awt.*;public class MyFrameWithComponents public static void main(String args) JFrame frame = new JFrame(Adding Components into the Frame);2. 在框架中添加組件 Container container = frame.getContentPane(); JButton jbtOK = new JButton(OK); c

6、ontainer.add(jbtOK);frame.setSize(400,300); frame.setVisible(true);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); import javax.swing.JFrame;public class FrameUseInherit extends JFrame public FrameUseInherit() /* 無參構造方法 */ this(A Frame Demo);3. 使用繼承創(chuàng)建窗口 public FrameUseInherit(String title) /*

7、參數(shù)為窗口標題的構造方法 */ super(title); this.setSize(400,300);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); public static void main(String args) /* main方法 */ new FrameUseInherit(); new FrameUseInherit(使用繼承創(chuàng)建的窗口); 面板容器是一種中間層容器,可放置其他GUI組件,也可作為一個組件添加到其他容器中。利用面板容器可以實現(xiàn)界面的嵌套和復雜的GUI界面。S

8、wing包主要面板容器:Jpanel類JScrollPane類javax.swing.JPanel類為一個通用的輕型容器,主要用于管理放置其中的GUI組件以形成界面的局部功能,再作為一個整體添加到頂層容器或面板容器。另一個作用是作為繪圖操作的“畫布”。 javax.swing.JScrollPane類,為需要進行內容滾動的GUI組件提供一個輕型的滾動視圖。當要顯示的內容超出組件范圍示,根據(jù)設置自動出現(xiàn)水平和垂直滾動條。在Java GUI設計時, 經(jīng)常使用JPanel作為分組放置用戶界面組件的子容器。并進行面板有嵌套。布局管理器管理GUI組件在界面容器的位置和大小。布局管理器由布局管理類創(chuàng)建,所

9、有布局管理器類都實現(xiàn)了java.awt. LayoutManager接口。容器包含一個setLayout(LayoutManager)方法設置其布局管理器。最常用的三種布局管理器:FlowLayoutGridLayoutBorderLayout流式布局FlowLayout按照添加順序, 由左向右將組件排列在容器中, 放滿一行就開始新的一行。組件在容器中有3種對齊方式:FlowLayout.LEFTFlowLayout.CENTERFlowLayout.RIGHTFlowLayout的構造方法:public FlowLayout(int align, int hGap, int vGap)pub

10、lic FlowLayout(int align)public FlowLayout()14.3.1 FlowLayout14.3.1 FlowLayoutGridLayout按照構造方法定義的行數(shù)和列數(shù), 以網(wǎng)格的形式排列組件。按照添加順序自左向右, 自上而下。FlowLayout的構造方法:public GridLayout(int rows, int cols, int hGap, int vGap)public GridLayout(int rows, int cols)public GirdLayout()行數(shù)和列數(shù)可以為0, 但不能同時為0. 若其中一個為0, 則不為0的維數(shù)已經(jīng)確

11、定, 為0的維數(shù)由布局管理器動態(tài)決定。如果行數(shù)和列數(shù)均不為0, 則行數(shù)為主要參數(shù). 即行數(shù)按指定數(shù)值固定, 列數(shù)動態(tài)調整。行數(shù)和列數(shù)的指定規(guī)則:14.3.2 GridLayout14.3.2 GridLayout14.3.3 BorderLayout14.3.3 BorderLayoutBorderLayout把窗口分為5區(qū): 東、南、西、北、中。 使用add(component, index)方法添加組件。其中參數(shù)index的取值可以是:BorderLayout.EASTBorderLayout.SOUTHBorderLayout.WESTBorderLayout.NORTHBorderLayout.CENTERBorderLayout的構造方法:public BorderLayout(int hGap, int vGap)public BorderLayout()14.3.3 BorderLayout14.3.3 BorderLayout各布局管理器均有屬性及相應的訪問器和修改器:FlowLayout: alignment, hGap, vGapGridLayout: rows, columns, hGap, vGapBorderLayout: hGap, vGap例如:/創(chuàng)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論