《圖形用戶界面 》PPT課件

上傳人:san****019 文檔編號:25659377 上傳時間:2021-07-29 格式:PPT 頁數(shù):44 大?。?03KB
收藏 版權(quán)申訴 舉報 下載
《圖形用戶界面 》PPT課件_第1頁
第1頁 / 共44頁
《圖形用戶界面 》PPT課件_第2頁
第2頁 / 共44頁
《圖形用戶界面 》PPT課件_第3頁
第3頁 / 共44頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《圖形用戶界面 》PPT課件》由會員分享,可在線閱讀,更多相關(guān)《《圖形用戶界面 》PPT課件(44頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、第十一章圖形用戶界面(GUI)設(shè)計 2 學(xué)習(xí)目標(biāo): GUI相關(guān)概念 布局管理器的概念和使用方法 事件處理的方法和過程 常用Swing組件的使用 3 11.1 圖形用戶界面概述(1) java.awt包AWT組件重組件Button( 按 鈕 ) 、TextField( 文 本 框 )( 2) javax.swing包 Swing組 件 輕 組 件JButton( 按 鈕 ) 、JTextField( 文 本 框 )使 用 Swing組 件使 用 AWT組 件 4 觀 感 Windows觀 感Java觀 感 Motif觀 感 5 11.1 圖形用戶界面概述2、組件、容器、布局和觀感( 1) 組 件

2、 : 可 圖 形 化 的 方 式 顯 示 在 屏 幕 上 ,能 夠 與 用 戶 交 互 。( 2) 容 器 : 一 種 特 殊 的 組 件 , 能 容 納 其 他 組 件 或 容 器 。 頂 層 容 器 : JFrame、 JApplet、 JWindow、 JDialog 中 間 層 容 器 : JPanel、 JScrollPane、 JTabbedPane 添 加 組 件 : add() 刪 除 組 件 : remove() 6 (3)布局: 專門管理組件在容器中的布局的工具布局管理器(4)觀感: 決定swing應(yīng)用程序的外觀。默認(rèn)Java觀感(又稱為Metal觀感) 11.1 圖形用戶

3、界面概述 7 11.2 布局管理器 Java中的布局類型包括以下幾種:- FlowLayout(流式布局)- BorderLayout (邊界布局)- CardLayout(卡片布局) - GridLayout(網(wǎng)格布局) - GridBagLayout(網(wǎng)格包布局) 8 一 種 最 簡 單 的 布 局 。 組 件 一 個 接 一 個 從 左 到 右 、 從上 到 下 一 排 一 排 依 次 放 在 容 器 中 。 默 認(rèn) 的 每 一 行 的 組件 都 居 中 對 齊 , 水 平 和 垂 直 間 隙 是 5個 像 素 。 FlowLayout是 Panel、 Jpanel、 Applet的 默

4、 認(rèn) 布局 管 理 器構(gòu) 造 方 法 :FlowLayout();FlowLayout(int align);FlowLayout(int align,int hgap,int vgap);12.2.2 FlowLayout布局 9 import java.awt.*;import javax.swing.*;public class FlowLayoutDemo extends JFramepublic FlowLayoutDemo()super(FlowLayout布 局 );Container c=getContentPane();FlowLayout f=new FlowLayout(

5、FlowLayout.LEFT,10,10);c.setLayout(f);for(int i=1;i=10;i+)c.add(new JButton(按 鈕 +i);public static void main(String args)JFrame frame=new FlowLayoutDemo();frame.setSize(250,200);frame.setVisible(true); 10 又 叫 邊 界 布 局 管 理 器 。 將 容 器 分 為 東 (EAST)、 南(SOUTH)、 西 (WEST)、 北 (NORTH)、 中 (CENTER)五 個 區(qū) 。按 照 “ 上

6、北 下 南 , 左 西 右 東 ” 的 規(guī) 則 分 配Window、 Dialog、 Frame的 默 認(rèn) 布 局 ; JFrame、JApplet、 JDialog的 內(nèi) 容 窗 格 的 默 認(rèn) 布 局構(gòu) 造 方 法 :BorderLayout()BorderLayout(int hgap,int vgap)11.2.3 BorderLayout布局 11 將 布 局 分 為 若 干 個 大 小 相 等 的 網(wǎng) 格 。 當(dāng) 容 器 尺 寸 改變 時 , 組 件 大 小 改 變 , 但 相 對 位 置 不 變構(gòu) 造 方 法 :GridLayout()GridLayout(int rows,in

7、t cols)GridLayout(int rows,int cols,int hgap,int vgap)11.2.4 GridLayout布局 12 11.2.5 CardLayout類 似 于 卡 片 的 布 局 設(shè) 置CardLayout的主要方法:first(Container parent):翻轉(zhuǎn)到容器的第一張卡片last(Container parent):翻轉(zhuǎn)到容器的最后一張卡片next(Container parent):翻轉(zhuǎn)到容器的下一張卡片previous(Container parent):翻轉(zhuǎn)到容器的上一張卡片show(Container parent, String

8、 name): 翻轉(zhuǎn)到已添加的指定name的組件 13 使 用 GridBagLayout實 現(xiàn) 如 圖 所 示 布 局效 果11.2.6GridBagLayout 14 BoxLayout盒 式 布 局 的 容 器 將 組 件 排 列 在 一 行 或 一 列 , 這 取 決 于創(chuàng) 建 盒 式 布 局 對 象 時 是 否 指 定 行 排 列 還 是 列 排 列 。構(gòu) 造 方 法 :BoxLayout(Container target,int axis) X_AXIS Y_AXISBox類 :createHorizontalBox()createVerticalBox()createHorizo

9、ntalStruct(int width)createVerticalStruct(int height)11.2.7 Swing布局管理器 15 11.3.1 事件處理模式Java 的事件處理模型:授權(quán)處理模型 事件源:產(chǎn)生事件的組件,如JButton。 事件對象:觸發(fā)事件后系統(tǒng)會自動創(chuàng)建事件類的對象,XxxEvent。 監(jiān)聽器:處理事件的實體,XxxListener。 16 授權(quán)處理模型 17 11.3.3 事件處理方法 (1)實現(xiàn)事件監(jiān)聽器接口法: 定義類來實現(xiàn)這些接口,實現(xiàn)接口中所有的事件處理方法,用不到的寫成空方法。 e.getSource()返回事件源對象class ButtonC

10、lick implements ActionListener public void actionPerformed(ActionEvent e) /具 體 處 理 事 件 的 代 碼 if(e.getSource=button1). . . . . . 18 例一: 19 例二: 20 例 三 : 21 例 四 : 22 總 結(jié) :圖 形 用 戶 界 面 基 本 知 識布 局 管 理 器事 件 處 理 23 11.4 常 用 Swing組 件常 用 容 器 組 件JFrameJPanelJScrollPane、 JSplitPane、 JInternalFrameJButtonJTextFi

11、eld、 JPasswordField、 JTextAreaJCheckBoxJRadioButtonJListJComboBox 24 JFrame1、簡介: JFrame是帶標(biāo)題、邊框、窗口狀態(tài)調(diào)節(jié)按鈕的頂層窗口。 可以是構(gòu)建Swing GUI應(yīng)用程序的主窗口,也可以是附屬于其他窗口的彈出窗口。 每一個Swing GUI應(yīng)用程序都至少應(yīng)包含一個窗體 默認(rèn)布局為BorderLayout。 25 2、 構(gòu) 造 方 法 JFrame( )JFrame(String Title)3、 常 用 方 法 :setVisible(true)setSize(長 ,寬 ) setResizable(bool

12、ean b)setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)JFrame窗體 26 import java.awt.*;import javax.swing.*;public class JFrameDemo extends JFramepublic JFrameDemo()super(myJFrame);Container c=getContentPane();JButton b1=new JButton(按 鈕 1);c.add(b1);public static void main(String args)JFrameDemo frame=ne

13、w JFrameDemo();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(400,100);frame.setVisible(true); 舉例1:JFrame的應(yīng)用 27 JPanel JPanel:一種中間容器,可以容納組件,但他本身必須添加到其他容器中使用。 為了能夠更好的管理各組件,我們可以創(chuàng)建多個JPanel。 創(chuàng)建一個面板,默認(rèn)布局FlowLayout。- new JPanel( ) 28 把一個組件放入一個滾動窗格,有滾動條。 - new JScrollPane(component c )被

14、分成兩部分的容器內(nèi)部窗格JScrollPane、JSplitPane、JInternalFrame舉 例 : ScrollDemo.java推 薦 : Sun官 網(wǎng) 提 供 的 swing的 介 紹http:/ 29 JSplitPane 30 JTextField文本框 構(gòu)造方法: JTextField( ) , JTextField(int columns) ,JTextField(String text) ,JTextField(String text, int columns) 常用方法: String getText( ) void setText(String text) void

15、 setEditable(boolean b) void setHorizontalAlignment(int alignment) 31 JPasswordField密碼框 構(gòu)造方法同JTextField 常用方法: char getPassword( ) char getEchoChar( ) void setEchoChar(char c) 32 JTextArea文本域(多行) 構(gòu)造方法 JTextArea( ) ,JTextArea(int rows, int cols) ,JTextArea(String text) ,JTextArea(String text, int rows

16、, int cols) 使用JScrollPane加滾動條 常用方法: String getText( ) void setText(String text) void copy() void cut() void paste() 33 JButton按鈕 構(gòu)造方法 可設(shè)置文本和圖標(biāo) 常用方法: void setMnemonic(int c) 設(shè)置鍵盤激活 34 JLabel標(biāo)簽構(gòu)造方法 可設(shè)置文本、對齊方式和圖標(biāo) 常用方法: String getText( ) void setText(String text) 35 JCheckBox復(fù)選框構(gòu)造方法 JCheckBox(Icon icon

17、,boolean selected ) JcheckBox(String text , boolean selected ) JCheckBox(String text, Icon icon) JCheckBox(String text, Icon icon, boolean selected) 常用方法: boolean isSelected() 36 JRadioButton單選按鈕 構(gòu)造 創(chuàng)建組 ButtonGroup group=new ButtonGroup(); 向組中添加項 JRadioButton b1=new JRadioButton(“男”); JRadioButton b

18、2=new JRadioButton(“女”); group.add(b1); group.add(bw); 常用方法: boolean isSelected() 37 JComboBox下拉列表下拉列表組件JComboBox 構(gòu)造 JComboBox( ) JComboBox(Object items) 常用方法: void setSelectedIndex() object getSelectedItem() 38 11.5 高級組件 JSlider 菜單 JMenuBar、JMenu、JMenuItem、JPopupMenu JTable JTabbedPane 對話框 JOptionP

19、ane、JFileChooser 39 11.5.2 菜單1、JMenuBar菜單條 一個窗口只能有一個菜單條。JMenuBar menuBar=new JMenuBar();frame.setJMenuBar(menuBar);2、 JMenu菜 單 一 個 菜 單 條 上 可 以 有 多 個 菜 單 。JMenu menu1=new JMenu(“文 件 ”);JMenu menu2=new JMenu(“幫 助 ”);menuBar.add(menu1); menuBar.add(menu2); 40 11.5.2 菜單組件3、JMenuIterm菜單項 一個菜單上可以有多個菜單項。JM

20、enuItem item1=new JMenuItem(“打 開 ”);JMenuItem item2=new JMenuItem(“退 出 ”);menu1.add(item1);menu1.addSeparator();menu1.add(item2); 41 11.5.3表格組件JTable構(gòu)造方法 JTable(Object data ,Object columnName ) DefaultTableModel myData = new DefaultTableModel(Object data ,Object column ); JTable table = new JTable(m

21、yData); 當(dāng)組件需要更新顯示時:table.epaint() 表 內(nèi) 容 表 頭表 內(nèi) 容 表 頭 42 DefaultTableModel類: 構(gòu)造方法: DefaultTableModel(Object data, Object columnNames) DefaultTableModel(object columnNames,int rowCount) 主要方法: addRow(Object rowData) addColumn(Object columnName) setValueAt(Object aValue, int row,int col) getValueAt(int row,int col) 11.5.3表格組件JTableJTableDemo.java 43 JTabbedPane 44 本章小結(jié)常用布局管理器的使用Java的事件處理機制Java的常用組件Java的高級組件

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!