freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

西南科技大學(xué)網(wǎng)絡(luò)教育系列課程高級語程序設(shè)計(jì)(java)-文庫吧

2025-08-25 10:52 本頁面


【正文】 使用布局管理器來實(shí)現(xiàn)布局設(shè)計(jì) ? 布局管理器是基于 AWT的 ? 布局管理器的類型 ? 流布局管理器: FlowLayout ? 邊界布局管理器: BoderLayout ? 卡片式布局管理器: CardLayout ? 網(wǎng)格布局管理器: GridLayout ? 盒式布局管理器: BoxLayout ? 布局管理讓容器使用方法 setLayout(布局對象 )來設(shè)計(jì)自己的布局。 高級語言程序設(shè)計(jì) (Java) ? BorderLayout ? Window型容器的默認(rèn)布局,比如 Jframe類 、JDialog類。 ? 每個(gè)被 BorderLayout管理的容器均被劃分為五個(gè)區(qū)域: 東 (EAST) ,南 (SOUTH),西 (WEST),北 (NORTH),中 (CENTER)。 ? 容器的每個(gè)區(qū)域,只能加入一個(gè)組件,如果試圖加入多個(gè)組件,其中只有一個(gè)組件是可見的。 ? 對于東南西北這四個(gè)邊界區(qū)域,如果,其中的某個(gè)區(qū)域沒有用,它的大小將變?yōu)?0,CENTER區(qū)域?qū)U(kuò)展并占用該區(qū)域 高級語言程序設(shè)計(jì) (Java) ? 構(gòu)造方法 ? BorderLayout(): 構(gòu)造一個(gè)間距為 0的BorderLayout實(shí)例 ? BorderLayout(int hgap,int vgap): 構(gòu)造一個(gè)指定間距的 BorderLayout實(shí)例 ? 在 BorderLayout布局管理器的管理下,組建必須通過 add()方法加入到容器的五個(gè)命名區(qū)域之一,否則它們是不可見的。 ? 方法: add(組件 ,區(qū)域 ) 高級語言程序設(shè)計(jì) (Java) import .*。 import .*。 public class BorderL{ public static void main(String[ ] args){ JFrame f。 JButton be,bw,bn,bs,bc。 BorderL that=new BorderL()。 f=new JFrame(“窗體 )。 be=new JButton(“東? )。 bs=new JButton(“南 )。 bw=new JButton(“西? )。 bn=new JButton(“北 )。 bc=new JButton(“中心 )。 ().add(be,East)。 ().add(bs,South)。 ().add(bw,West)。 ().add(bn,North)。 ().add(bc,Center)。 (350,200)。 (true)。 } } 高級語言程序設(shè)計(jì) (Java) ?FlowLayout ? 將組件按照加入的順序逐個(gè)地放在容器中的一行上,一行放滿后再另起一個(gè)新行。 ? 每一行中的組件按布局指定的方式對齊方,默認(rèn)情況下是居中對齊。 ? 三種構(gòu)造方法: FlowLayout() FlowLayout(int align) FlowLayout(int align,int hgap,int vgap) , , ( 默認(rèn) ) hgap:垂直間距, vgap:水平間距,默認(rèn)值是 5個(gè)像素 高級語言程序設(shè)計(jì) (Java) ? FlowLayout布局管理器不強(qiáng)行設(shè)定組件的大小,而是允許組件擁有自己希望的大小。 ? 每個(gè)組件都有一個(gè) getPreferredSize()方法,容器布局管理器會調(diào)用此方法取得每個(gè)組件希望的大小。 ? FlowLayout布局 是 JPanle容器的默認(rèn)布局管理器。 高級語言程序設(shè)計(jì) (Java) ? 當(dāng)容器中組件數(shù)增加時(shí),就顯得高低參差不齊,采用容器嵌套的方式,即把一個(gè)容器當(dāng)作一個(gè)組件加入另一個(gè)容器,使這個(gè)容器的布局達(dá)到應(yīng)用的需求 高級語言程序設(shè)計(jì) (Java) ? GridLayout ? 網(wǎng)格式的布局管理器,它將容器空間劃分成若干行乘若干列的網(wǎng)格,每個(gè)格放一個(gè)組件。 ? 各組件按照從上到下,從左至右的順序排列。 ? 構(gòu)造方法 : GridLayout():創(chuàng)建一個(gè)只有一行的網(wǎng)格,列數(shù)根據(jù)實(shí)際需要而定 GridLayout(int rows,int cols): 創(chuàng)建指定行、列的網(wǎng)格, rows和 cols中的 一個(gè) 值可以為 0 GridLayout(int rows,int cols,int hgap,int vgap) 高級語言程序設(shè)計(jì) (Java) ? 使用 GridLayout布局設(shè)計(jì)的一般步驟: ? 使用 GridLayout的構(gòu)造方法創(chuàng)建布局對象,指定劃分網(wǎng)格的行數(shù)和列數(shù) ? 使用 GridLayout布局容器調(diào)用方發(fā) add將組件加入容器。 ? GridLayout布局中每個(gè)網(wǎng)格都是相同大小并且強(qiáng)制組件與網(wǎng)格相同大小 高級語言程序設(shè)計(jì) (Java) ? CardLayout ? 卡式布局管理器,可以容納多個(gè)組件,但是同一時(shí)刻容器只能從這些組件中選出一個(gè)來顯示,被顯示的組件占據(jù)容器的整個(gè)空間。 ? 選項(xiàng)卡窗格 (JTabbedPane)的默認(rèn)布局是CardLayout。 ? 在 JTabbedPane中加入組件: ? add(String text,Component c)。 ? 指定和該組件 c對應(yīng)的選項(xiàng)卡的文本提示是 text。 高級語言程序設(shè)計(jì) (Java) ? BoxLayout ? 用 BoxLayout類可以創(chuàng)建盒式布局。 ? Box類創(chuàng)建的容器稱作一個(gè)盒式容器,盒式容器的的默認(rèn)布局是盒式布局,而且不允許更改盒式容器的布局。 ? 行型盒式布局 ? 容器中組件的上沿在同一水平線上。 ? Box類的類方法 createHorizontalBox()可以獲得一個(gè)具有行型盒式布局的盒式容器 ? 行型盒式容器中組件間的間距: Box類調(diào)用靜態(tài)方法 createHorizontalStrut(int width)可以得到一個(gè)不可見的水平 Struct類型對象,稱做水平支撐。 高級語言程序設(shè)計(jì) (Java) ? 列型盒式布局 ? 容器中組件的左沿在同一垂直線上。 ? Box類的類方法 createVerticalBox()可以獲得一個(gè)具有列型盒式布局的盒式容器。 ? 列型盒式容器中組件間的間距: Box類調(diào)用靜態(tài)方法 createVertialStrut(int height)可以得到一個(gè)不可見的垂直 Struct類型對象,稱做垂直支撐。 高級語言程序設(shè)計(jì) (Java) 中間容器 ? 用來添加組件的輕容器,稱為中間容器。 ? JPanel 面板 ? JPanel類用來創(chuàng)建一個(gè)面板對象,可以向這個(gè)面板添加組件 (直接使用 add方法 )。 ? 使用時(shí)需要把這個(gè)面板添加到底層容器或其他中間容器中。 ? JPanel面板的默認(rèn)布局是 FlowLayout布局。 ? 構(gòu)造方法 ?JPanel(): 構(gòu)造一個(gè)面板容器對象 高級語言程序設(shè)計(jì) (Java) ? JScrollPane滾動窗格 ? 把一個(gè)組件放到一個(gè)滾動窗格中,然后通過滾動條來觀察這個(gè)組件。 ? 例如, JTextArea不自帶滾動條,可把文本區(qū)放到一個(gè)滾動窗格中。 ? 構(gòu)造方法 JScrollPane(ponent c): 構(gòu)造一個(gè)滾動窗格。 高級語言程序設(shè)計(jì) (Java) ?JSplitPane拆分窗格 ? 被分成兩部分的容器,拆分窗格有兩種類型: ? 水平拆分:用一條拆分線把容器分成左右兩部分,左面放一個(gè)組件,右面放一個(gè)組件,拆分線可以水平移動 ? 垂直拆分:用一條拆分線分成上下兩部分,上面放一個(gè)組件,下面放一個(gè)組件,拆分線可以垂直移動。 ? 構(gòu)造方法 JSplitPane(int a, Component b ,Component c): 構(gòu)造一個(gè)拆分窗格 ? setDividerLocation(double position):拆分窗格設(shè)置拆分線的位置。 高級語言程序設(shè)計(jì) (Java) ? JLayeredPane分層窗格 ? 如果添加到容器中的組件經(jīng)常需要處理重疊問題,就可以將組件添加到 JLayeredPane容器。 ? JLayeredPane將容器分成 5個(gè)層,容器使用 add(Jponent , int layer)。 添加組件 , 并指定 所在的層。 ? layer取值: DEFAULT_LAYER: 最底層 PALETTE_LAYER MODAL_LAYER POPUP_LAYER DRAG_LAYER: 最上面的層 高級語言程序設(shè)計(jì) (Java) ? public void setLayer(Component c,int layer): 重新設(shè)置組件 c所在的層 ? public int getLayer(Component c): 獲取組件 c所在的層數(shù)。 高級語言程序設(shè)計(jì) (Java) 文件組件 ? JTextField文本框 ? 用來建立文本框的,用戶可以在文本框輸入單行的文本。 ? 構(gòu)造方法 ? JTextField(int x): 創(chuàng)建文本框?qū)ο?,可以在文本框中輸入若干個(gè)字符,文本框的可見字符個(gè)數(shù)由參數(shù) x指定。 ? JTextField(String s) : 創(chuàng)建文本框?qū)ο?,則文本框的初始字符串為 s, 可以在文本框中輸入若干個(gè)字符。 高級語言程序設(shè)計(jì) (Java) ? 主要方法 ? public void setText(String s): 設(shè)置文本框中的文本為參數(shù) s指定的文本。 ? public String getText() : 獲取文本框中的文本。 ? public void setEditable(boolean b) : 指定文本框的可編輯性 (默認(rèn)為可編輯的 )。 ? public void setHorizontalAlignment(int alignment) : 設(shè)文本在文本框中的對齊方式,其中 alignment的有效值確定對齊方式,如:LEFT、 CENTER、 RIGHT。 高級語言程序設(shè)計(jì) (Java) ? JPasswordField ? 建立一個(gè)密碼框?qū)ο? ? setEchoChar(char c): 設(shè)置回顯字符(默認(rèn)的回顯字符是‘ *’)。 ? char[ ] getPassword()方法獲取密碼框中的密碼。 高級語言程序設(shè)計(jì) (Java) ActionEvent事件 ? 基于委托的事件模型 ? 事件的處理由事件的來源 (source,對象 ) ,委托給一個(gè)或多個(gè)事件監(jiān)聽者 (Event Listener)來處理 (事件監(jiān)聽者就可視為一種處理事件的對象 )。 ? 組件激發(fā)事件,事件監(jiān)聽器監(jiān)聽并處理這一特定事件。 ? 委托的方法是調(diào)用組件的注冊監(jiān)聽器方法addxxxListener(Event Listener) 高級語言程序設(shè)計(jì) (Java) ? 事件監(jiān)聽者 ? 是一種處理事件的接口,定義于,在此包中也定義了各種事件類 ? 當(dāng)事件來源對象因用戶的操作 (鼠標(biāo)、鍵盤等 ),系統(tǒng)會自動觸發(fā)此事件類對象 E, 并通知所委托的事件監(jiān)聽者 A(需要預(yù)先注冊 ),然后事件監(jiān)聽者 A中所定義的處理各種事件的方法便會處理此事件 E的各種狀況 。 高級語言程序設(shè)計(jì) (Java) 來源對象 向事件監(jiān)聽者 A注冊 事件監(jiān)聽者 A 事件處理者 2 事件處理者 n 事件處理者 1 用戶操作 產(chǎn)生 事件 E 高級語言程序設(shè)計(jì) (Java) 通知 發(fā)生 XXX事件 事件源 .addXXXListener(存放監(jiān)視器引用的接口 ) 接口方法 ( XXX e) 實(shí)現(xiàn) XXXListener接口的監(jiān)視器 接口回調(diào) 事件處理
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1