版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
§10-1學(xué)生信息管理系統(tǒng)登錄界面設(shè)計Java語言程序設(shè)計教學(xué)目標(biāo)任務(wù)分析學(xué)生信息管理系統(tǒng)主要提供給教師和學(xué)生兩種角色的用戶使用,用戶使用前需要首先進(jìn)行登錄,本任務(wù)實現(xiàn)用戶登錄界面的設(shè)計,如圖所示。目錄1Java布局管理圖形用戶界面組成21Swing常用組件設(shè)置一、圖形用戶界面組成圖形用戶界面,簡稱GUI(GraphicsUserInterface)。使用圖形的方式,借助菜單、按鈕等標(biāo)準(zhǔn)界面元素和鼠標(biāo)操作,幫助用戶方便地向計算機系統(tǒng)發(fā)出指令,啟動操作,并將系統(tǒng)運行的結(jié)果同樣以圖形方式顯示給用戶。圖形用戶界面畫面生動操作簡單,省去了字符界面用戶必須記憶各種命令的麻煩。Java圖形用戶界面的各種元素稱為組件(Component),組件是以圖形化的方式顯示在屏幕上,并能與用戶進(jìn)行交互的對象,如一個按鈕、一個文本框等。Java圖形用戶界面主要有三類組件構(gòu)成:容器組件、控制組件和用戶自定義組件。一、圖形用戶界面組成容器(Conatiner)是用來組織其他界面成分和元素的單元。容器是Component的子類,因此容器本身也是一個組件。一個Java容器可以容納多個組件,并使它們成為一個整體。容器分為頂層和非頂層容器兩大類,一個應(yīng)用程序中至少有一個頂層容器,其中可以包含若干個其它容器,javax.swing包中主要使用JFrame和JPanel兩個容器。1.容器組件一、圖形用戶界面組成JFrame,通常稱其為框架,擴展自java.awt.Frame類,用于在Swing程序中創(chuàng)建窗口,包含邊框、標(biāo)題和用于關(guān)閉和圖標(biāo)化窗口的按鈕。方法說明JFrame()創(chuàng)建一個無標(biāo)題的初始不可見的框JFrame(Stringtitle)創(chuàng)建一個標(biāo)題為title的初始不可見的框voidsetSize(intwidth,intheight)將窗口大小調(diào)整為指定的寬度和高度voidsetTitle(Stringname)設(shè)置框架的標(biāo)題voidsetDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)單擊框架的關(guān)閉按鈕時,退出程序voidpack()緊湊排列窗口,使其盡量小,小到剛剛能夠容其中的組件voidsetVisible(boolean)設(shè)置窗體是否可見示例代碼importjavax.swing.JFrame;publicclassJFrameDemo1{ publicstaticvoidmain(Stringargs[]){
//使用無參構(gòu)造
JFrameframe=newJFrame();//也可使用帶參構(gòu)造創(chuàng)建窗體
frame.setTitle("你好!");//設(shè)置標(biāo)題 frame.setSize(600,600); frame.setVisible(true); }}importjavax.swing.JFrame;publicclassJFrameDemo2extendsJFrame{//定義一個類繼承自JFrame publicJFrameDemo2(Stringtitle){ super(title); } publicstaticvoidmain(Stringargs[]){
//創(chuàng)建JFrameDemo2對象,同時設(shè)置窗體標(biāo)題為“自定義窗體類!”
JFrameDemo2frame=newJFrameDemo2("自定義窗體類"); frame.setSize(600,600); frame.setVisible(true); }}一、圖形用戶界面組成JPanel是中間容器,用于將Swing組件組合在一起。該類是繼承自JComponent,其添加組件的方法為add(JComponent)方法說明JPanel()創(chuàng)建一個JPanel對象JPanel(LayoutManagerlayout)創(chuàng)建JPanel對象時指定布局layoutComponentadd(Componentcomponent)向JPanel中添加組件voidsetBounds(intx,inty,intwidth,intheight)設(shè)置JPanel的位置及寬高voidsetSize(intwidth,intheight)將JPanel大小調(diào)整為指定的寬度和高度voidsetPreferredSize(Dimensiondimension)設(shè)置首選JPanel大小voidsetLayout(LayoutManagerlayout)設(shè)置布局layout一、圖形用戶界面組成2.控制組件控制組件是組成圖形用戶界面的最小單位之一,它里面不再包含任何其它的成分。控制組件的作用是完成與用戶的一次交互,如接受用戶命令、接受用戶的文本輸入、顯示文本或圖形等。常見控制組件如:按鈕、文本框、單選按鈕、復(fù)選框等3.自定義組件用戶自定義的圖形界面成分,如繪制一些幾何圖形、加入標(biāo)志圖案等。這些圖形界面成分通常只起到裝飾和美化作用,不能響應(yīng)用戶的動作、不具備交互功能。一、圖形用戶界面組成Java中涉及圖形API的包有兩個java.awt和javax.swing,AWT類定義在java.awt包中,swing組件定義在javax.swing包中,大多數(shù)Swing組件的名字前都有前綴J,如JComponent,JLable,JCheckedBox等。1)Component:是所有用戶界面類的父類。2)Container:是所有容器類的父類。3)JComponent:是所有Swing組件的父類,它的子類包括:JButton、JTextField、JCheckedBox、JMenu、JRadioButton、JLable、JList、JTableJTextArea、JPanel、JScrollPane等,是構(gòu)成GUI的基本元素。二、Java布局管理在GUI程序設(shè)計中,組件在界面中的布局(組件的大小和位置)也是至關(guān)重要的一個環(huán)節(jié)。Java用布局管理器(LayoutManager)來自動設(shè)定容器的中組件的大小和位置,當(dāng)容器改變大小時,布局管理器自動改變其中的大小和位置,每種容器都有自己的默認(rèn)布局管理器。如果不希望使用默認(rèn)的布局管理器,則可以使用Container的setLayout()方法來設(shè)置容器的布局管理器。布局管理器屬于AWT組件,常用布局管理器類主要有五個:FlowLayout、BorderLayout、GridLayout、CardLayout、GridBagLayout。1.布局管理器簡介二、Java布局管理
①FlowLayout:流布局管理器,是一種最基礎(chǔ)的布局。FlowLayout是Panel的缺省布局管理器。其組件的放置規(guī)律是從上到下、從左到右依次進(jìn)行放置。FlowLayout常用構(gòu)造方法。1)FlowLayout():創(chuàng)建每行組件居中對齊,組件間距為5個像素單位的布局管理器對象。2)FlowLayout(intalign):創(chuàng)建指定對齊方式布局管理器對象。Align的取值:CENTER、LEFT、RIGHT。如:FlowLayout(FlowLayout.LEFT);3)FlowLayout(intalign,inthgap,intvgap):創(chuàng)建指定每行組件對齊方式,指定組件間距的布局管器對象。align:對齊方式,hgap:橫向間隔,vgap:縱向間隔。如:FlowLayout(FlowLayout.RIGHT,20,40);2.常用布局管理器示例代碼
FlowLayout非常適合于容器中只有少量組件時的情況,當(dāng)容器中存在較多組件時,組件的布局將顯得的無序而凌亂。二、Java布局管理②BorderLayout:邊框布局管理器BorderLayout是Frame類的默認(rèn)布局管理器BorderLayout將整個容器的布局劃分成東、西、南、北、中五個區(qū)域,組件只能被添加到指定的區(qū)域,如不指定組件的加入部位,則默認(rèn)加入到Center區(qū)域每個區(qū)域只能加入一個組件,如加入多個,則先前加入的組件會被遺棄BorderLayout型布局容器尺寸縮放原則南、北兩個區(qū)域只能在水平方向縮放(寬度可調(diào)整)東、西兩個區(qū)域只能在垂直方向縮放(高度可調(diào)整)中部可在兩個方向上縮放NorthSouthWestEestCenter示例代碼二、Java布局管理③GridLayout:網(wǎng)格布局管理器。將容器分成尺寸相同的網(wǎng)格,網(wǎng)絡(luò)中的組件具有相同的大小。組件被添加到每個單元格中,先從左到右添滿一行后換行,再從上到下。常用構(gòu)造方法:1)GridLayout():以每行一列的方式構(gòu)建一個GridLayout對象。2)GridLayout(introw,intcolumns):根據(jù)指定行數(shù)和列數(shù)構(gòu)造一個GridLayout對象,組件間距為0。3)GridLayout(introw,intcolumns,inthgap,intvgap):根據(jù)指定行數(shù)和列數(shù)構(gòu)造一個GridLayout對象,組件間距按指定值設(shè)置。示例代碼10個組件,GridLayout創(chuàng)建3個固定的列和4個行,最后一行只包含1個組件。二、Java布局管理④CardLayout:卡片布局管理器能夠幫助用戶處理兩個以至更多的成員共享同一顯示空間,就好象一疊卡片摞在一起。注意:在一張卡片中只能顯示一個組件,因此可以使用容器嵌套方法顯示多個組件。常用方法如下:first(Containercontainer):顯示容器中的第一張卡片。last(Containercontainer):顯示容器中的最后一張卡片。next(Containercontainer):顯示容器中的下一張卡片。show(Containercontainer,Stringname):顯示容器中指定名稱的卡片。示例代碼二、Java布局管理⑤GridBagLayout:網(wǎng)格塊布局管理器一種靈活而復(fù)雜的布局管理器,它與GridLayout布局管理器相似,都是按網(wǎng)格安放組件,所不同的是GridBagLayout的組件可以大小不同,可以按任意次序添加。三、Swing常用組件設(shè)置
Swing提供了豐富的組件類,以滿足各種GUI設(shè)計的需求。這些組件類均繼承自JComonent。JComponect中的方法可對組件的屬性進(jìn)行通用設(shè)置。1.組件通用設(shè)置①按鈕(JButton)按鈕是一種點擊時觸發(fā)行為的組件,是GUI中非常重要的一種基本組件??梢詣?chuàng)建空按鈕,也可以創(chuàng)建帶文本、圖標(biāo)的按鈕。JButtonbutton1=newJButton();JButtonbutton2=newJButton(“按鈕2”);Iconicon=newImagelcon(“photo.gif”);JButtonbutton3=newJButton(Iconicon);Iconicon=newImagelcon(“photo.gif”);JButtonbutton4=newJButton(”按鈕4“,Iconicon);三、Swing常用組件設(shè)置2.常用組件②標(biāo)簽(JLabel)標(biāo)簽是用戶只能查看不能修改其內(nèi)容的組件,常用來在界面輸出信息。如:JLabeljLabel=newJLabel(“這是Swing標(biāo)簽");③單行文本框JTextField文本輸入框,常用來在界面接收用戶的輸入信息JTextFieldunameField=newJTextField() //創(chuàng)建一個用戶名文本輸入框JTextFieldunameField=newJTextField(20)//創(chuàng)建一個指定列數(shù)的用戶名文本輸入框//獲取文本框中顯示的字符串unameField.getText();三、Swing常用組件設(shè)置④口令文本框:JPasswordField單行口令文本框JPasswordField允許編輯一個單行文本,但不顯示原始字符,是一個專門用于輸入用戶口令的文本組件。//創(chuàng)建一個指定列數(shù)口令文本框JPasswordFieldupwdField=newJPasswordField(14);
//獲取口令文本框中字符串unameField.getPassword();三、Swing常用組件設(shè)置⑤單選按鈕(JRadioButton)單選按鈕為用戶提供多個選項,讓用戶從中選擇一項,即實現(xiàn)“多選一”。為了實現(xiàn)從一組單選按鈕選擇一個,必須要把多個單選按鈕放入一個按鈕組(ButtonGroup)//創(chuàng)建ButtonGroup,JRadioButtonButtonGroupbuttonGroup=newButtonGroup();//聲明按鈕組JRadioButtonadminRadioButton=newJRadioButton("管理員");JRa
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年醫(yī)療信息化師資格認(rèn)證試題及答案
- 特種作業(yè)人員應(yīng)急處理能力考核試卷及答案(2025年5月)
- 2026年教育數(shù)字化平臺創(chuàng)新建設(shè)與趨勢報告
- 2026年精準(zhǔn)農(nóng)業(yè)技術(shù)革新報告
- 城市地下空間三維建模系統(tǒng)建設(shè)2025年技術(shù)升級可行性研究報告
- 2026年零售業(yè)數(shù)字化轉(zhuǎn)型創(chuàng)新趨勢報告
- 2025年金融科技監(jiān)管與合規(guī)創(chuàng)新報告
- 2025年移動支撐崗位筆試題目及答案
- 2025年漣水基層衛(wèi)生院筆試及答案
- 2025年a類事業(yè)編考試卷真題及答案
- 2025桐梓縣國土空間規(guī)劃城市年度體檢報告成果稿
- ISO-26262功能安全培訓(xùn)
- 2025浙江杭州錢塘新區(qū)建設(shè)投資集團有限公司招聘5人備考筆試試題及答案解析
- 智能家居銷售培訓(xùn)課件
- 2025-2026學(xué)年小學(xué)蘇少版(2024)新教材一年級上冊美術(shù)期末測試卷及答案
- 2025-2026學(xué)年北師大版六年級數(shù)學(xué)上冊期末測試卷及答案
- 不同類型休克的床旁超聲鑒別診斷策略
- 企業(yè)ESG審計體系構(gòu)建-洞察及研究
- 政治理論考試試題庫100題
- 物業(yè)與商戶裝修協(xié)議書
評論
0/150
提交評論