Java程序設(shè)計(jì)項(xiàng)目式教程 課件 10-1 學(xué)生信息管理系統(tǒng)登錄界面設(shè)計(jì)_第1頁(yè)
Java程序設(shè)計(jì)項(xiàng)目式教程 課件 10-1 學(xué)生信息管理系統(tǒng)登錄界面設(shè)計(jì)_第2頁(yè)
Java程序設(shè)計(jì)項(xiàng)目式教程 課件 10-1 學(xué)生信息管理系統(tǒng)登錄界面設(shè)計(jì)_第3頁(yè)
Java程序設(shè)計(jì)項(xiàng)目式教程 課件 10-1 學(xué)生信息管理系統(tǒng)登錄界面設(shè)計(jì)_第4頁(yè)
Java程序設(shè)計(jì)項(xiàng)目式教程 課件 10-1 學(xué)生信息管理系統(tǒng)登錄界面設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

§10-1學(xué)生信息管理系統(tǒng)登錄界面設(shè)計(jì)Java語(yǔ)言程序設(shè)計(jì)教學(xué)目標(biāo)任務(wù)分析學(xué)生信息管理系統(tǒng)主要提供給教師和學(xué)生兩種角色的用戶(hù)使用,用戶(hù)使用前需要首先進(jìn)行登錄,本任務(wù)實(shí)現(xiàn)用戶(hù)登錄界面的設(shè)計(jì),如圖所示。目錄1Java布局管理圖形用戶(hù)界面組成21Swing常用組件設(shè)置一、圖形用戶(hù)界面組成圖形用戶(hù)界面,簡(jiǎn)稱(chēng)GUI(GraphicsUserInterface)。使用圖形的方式,借助菜單、按鈕等標(biāo)準(zhǔn)界面元素和鼠標(biāo)操作,幫助用戶(hù)方便地向計(jì)算機(jī)系統(tǒng)發(fā)出指令,啟動(dòng)操作,并將系統(tǒng)運(yùn)行的結(jié)果同樣以圖形方式顯示給用戶(hù)。圖形用戶(hù)界面畫(huà)面生動(dòng)操作簡(jiǎn)單,省去了字符界面用戶(hù)必須記憶各種命令的麻煩。Java圖形用戶(hù)界面的各種元素稱(chēng)為組件(Component),組件是以圖形化的方式顯示在屏幕上,并能與用戶(hù)進(jìn)行交互的對(duì)象,如一個(gè)按鈕、一個(gè)文本框等。Java圖形用戶(hù)界面主要有三類(lèi)組件構(gòu)成:容器組件、控制組件和用戶(hù)自定義組件。一、圖形用戶(hù)界面組成容器(Conatiner)是用來(lái)組織其他界面成分和元素的單元。容器是Component的子類(lèi),因此容器本身也是一個(gè)組件。一個(gè)Java容器可以容納多個(gè)組件,并使它們成為一個(gè)整體。容器分為頂層和非頂層容器兩大類(lèi),一個(gè)應(yīng)用程序中至少有一個(gè)頂層容器,其中可以包含若干個(gè)其它容器,javax.swing包中主要使用JFrame和JPanel兩個(gè)容器。1.容器組件一、圖形用戶(hù)界面組成JFrame,通常稱(chēng)其為框架,擴(kuò)展自java.awt.Frame類(lèi),用于在Swing程序中創(chuàng)建窗口,包含邊框、標(biāo)題和用于關(guān)閉和圖標(biāo)化窗口的按鈕。方法說(shuō)明JFrame()創(chuàng)建一個(gè)無(wú)標(biāo)題的初始不可見(jiàn)的框JFrame(Stringtitle)創(chuàng)建一個(gè)標(biāo)題為title的初始不可見(jiàn)的框voidsetSize(intwidth,intheight)將窗口大小調(diào)整為指定的寬度和高度voidsetTitle(Stringname)設(shè)置框架的標(biāo)題voidsetDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)單擊框架的關(guān)閉按鈕時(shí),退出程序voidpack()緊湊排列窗口,使其盡量小,小到剛剛能夠容其中的組件voidsetVisible(boolean)設(shè)置窗體是否可見(jiàn)示例代碼importjavax.swing.JFrame;publicclassJFrameDemo1{ publicstaticvoidmain(Stringargs[]){

//使用無(wú)參構(gòu)造

JFrameframe=newJFrame();//也可使用帶參構(gòu)造創(chuàng)建窗體

frame.setTitle("你好!");//設(shè)置標(biāo)題 frame.setSize(600,600); frame.setVisible(true); }}importjavax.swing.JFrame;publicclassJFrameDemo2extendsJFrame{//定義一個(gè)類(lèi)繼承自JFrame publicJFrameDemo2(Stringtitle){ super(title); } publicstaticvoidmain(Stringargs[]){

//創(chuàng)建JFrameDemo2對(duì)象,同時(shí)設(shè)置窗體標(biāo)題為“自定義窗體類(lèi)!”

JFrameDemo2frame=newJFrameDemo2("自定義窗體類(lèi)"); frame.setSize(600,600); frame.setVisible(true); }}一、圖形用戶(hù)界面組成JPanel是中間容器,用于將Swing組件組合在一起。該類(lèi)是繼承自JComponent,其添加組件的方法為add(JComponent)方法說(shuō)明JPanel()創(chuàng)建一個(gè)JPanel對(duì)象JPanel(LayoutManagerlayout)創(chuàng)建JPanel對(duì)象時(shí)指定布局layoutComponentadd(Componentcomponent)向JPanel中添加組件voidsetBounds(intx,inty,intwidth,intheight)設(shè)置JPanel的位置及寬高voidsetSize(intwidth,intheight)將JPanel大小調(diào)整為指定的寬度和高度voidsetPreferredSize(Dimensiondimension)設(shè)置首選JPanel大小voidsetLayout(LayoutManagerlayout)設(shè)置布局layout一、圖形用戶(hù)界面組成2.控制組件控制組件是組成圖形用戶(hù)界面的最小單位之一,它里面不再包含任何其它的成分。控制組件的作用是完成與用戶(hù)的一次交互,如接受用戶(hù)命令、接受用戶(hù)的文本輸入、顯示文本或圖形等。常見(jiàn)控制組件如:按鈕、文本框、單選按鈕、復(fù)選框等3.自定義組件用戶(hù)自定義的圖形界面成分,如繪制一些幾何圖形、加入標(biāo)志圖案等。這些圖形界面成分通常只起到裝飾和美化作用,不能響應(yīng)用戶(hù)的動(dòng)作、不具備交互功能。一、圖形用戶(hù)界面組成Java中涉及圖形API的包有兩個(gè)java.awt和javax.swing,AWT類(lèi)定義在java.awt包中,swing組件定義在javax.swing包中,大多數(shù)Swing組件的名字前都有前綴J,如JComponent,JLable,JCheckedBox等。1)Component:是所有用戶(hù)界面類(lèi)的父類(lèi)。2)Container:是所有容器類(lèi)的父類(lèi)。3)JComponent:是所有Swing組件的父類(lèi),它的子類(lèi)包括:JButton、JTextField、JCheckedBox、JMenu、JRadioButton、JLable、JList、JTableJTextArea、JPanel、JScrollPane等,是構(gòu)成GUI的基本元素。二、Java布局管理在GUI程序設(shè)計(jì)中,組件在界面中的布局(組件的大小和位置)也是至關(guān)重要的一個(gè)環(huán)節(jié)。Java用布局管理器(LayoutManager)來(lái)自動(dòng)設(shè)定容器的中組件的大小和位置,當(dāng)容器改變大小時(shí),布局管理器自動(dòng)改變其中的大小和位置,每種容器都有自己的默認(rèn)布局管理器。如果不希望使用默認(rèn)的布局管理器,則可以使用Container的setLayout()方法來(lái)設(shè)置容器的布局管理器。布局管理器屬于AWT組件,常用布局管理器類(lèi)主要有五個(gè):FlowLayout、BorderLayout、GridLayout、CardLayout、GridBagLayout。1.布局管理器簡(jiǎn)介二、Java布局管理

①FlowLayout:流布局管理器,是一種最基礎(chǔ)的布局。FlowLayout是Panel的缺省布局管理器。其組件的放置規(guī)律是從上到下、從左到右依次進(jìn)行放置。FlowLayout常用構(gòu)造方法。1)FlowLayout():創(chuàng)建每行組件居中對(duì)齊,組件間距為5個(gè)像素單位的布局管理器對(duì)象。2)FlowLayout(intalign):創(chuàng)建指定對(duì)齊方式布局管理器對(duì)象。Align的取值:CENTER、LEFT、RIGHT。如:FlowLayout(FlowLayout.LEFT);3)FlowLayout(intalign,inthgap,intvgap):創(chuàng)建指定每行組件對(duì)齊方式,指定組件間距的布局管器對(duì)象。align:對(duì)齊方式,hgap:橫向間隔,vgap:縱向間隔。如:FlowLayout(FlowLayout.RIGHT,20,40);2.常用布局管理器示例代碼

FlowLayout非常適合于容器中只有少量組件時(shí)的情況,當(dāng)容器中存在較多組件時(shí),組件的布局將顯得的無(wú)序而凌亂。二、Java布局管理②BorderLayout:邊框布局管理器BorderLayout是Frame類(lèi)的默認(rèn)布局管理器BorderLayout將整個(gè)容器的布局劃分成東、西、南、北、中五個(gè)區(qū)域,組件只能被添加到指定的區(qū)域,如不指定組件的加入部位,則默認(rèn)加入到Center區(qū)域每個(gè)區(qū)域只能加入一個(gè)組件,如加入多個(gè),則先前加入的組件會(huì)被遺棄BorderLayout型布局容器尺寸縮放原則南、北兩個(gè)區(qū)域只能在水平方向縮放(寬度可調(diào)整)東、西兩個(gè)區(qū)域只能在垂直方向縮放(高度可調(diào)整)中部可在兩個(gè)方向上縮放NorthSouthWestEestCenter示例代碼二、Java布局管理③GridLayout:網(wǎng)格布局管理器。將容器分成尺寸相同的網(wǎng)格,網(wǎng)絡(luò)中的組件具有相同的大小。組件被添加到每個(gè)單元格中,先從左到右添滿(mǎn)一行后換行,再?gòu)纳系较?。常用?gòu)造方法:1)GridLayout():以每行一列的方式構(gòu)建一個(gè)GridLayout對(duì)象。2)GridLayout(introw,intcolumns):根據(jù)指定行數(shù)和列數(shù)構(gòu)造一個(gè)GridLayout對(duì)象,組件間距為0。3)GridLayout(introw,intcolumns,inthgap,intvgap):根據(jù)指定行數(shù)和列數(shù)構(gòu)造一個(gè)GridLayout對(duì)象,組件間距按指定值設(shè)置。示例代碼10個(gè)組件,GridLayout創(chuàng)建3個(gè)固定的列和4個(gè)行,最后一行只包含1個(gè)組件。二、Java布局管理④CardLayout:卡片布局管理器能夠幫助用戶(hù)處理兩個(gè)以至更多的成員共享同一顯示空間,就好象一疊卡片摞在一起。注意:在一張卡片中只能顯示一個(gè)組件,因此可以使用容器嵌套方法顯示多個(gè)組件。常用方法如下:first(Containercontainer):顯示容器中的第一張卡片。last(Containercontainer):顯示容器中的最后一張卡片。next(Containercontainer):顯示容器中的下一張卡片。show(Containercontainer,Stringname):顯示容器中指定名稱(chēng)的卡片。示例代碼二、Java布局管理⑤GridBagLayout:網(wǎng)格塊布局管理器一種靈活而復(fù)雜的布局管理器,它與GridLayout布局管理器相似,都是按網(wǎng)格安放組件,所不同的是GridBagLayout的組件可以大小不同,可以按任意次序添加。三、Swing常用組件設(shè)置

Swing提供了豐富的組件類(lèi),以滿(mǎn)足各種GUI設(shè)計(jì)的需求。這些組件類(lèi)均繼承自JComonent。JComponect中的方法可對(duì)組件的屬性進(jìn)行通用設(shè)置。1.組件通用設(shè)置①按鈕(JButton)按鈕是一種點(diǎn)擊時(shí)觸發(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)簽是用戶(hù)只能查看不能修改其內(nèi)容的組件,常用來(lái)在界面輸出信息。如:JLabeljLabel=newJLabel(“這是Swing標(biāo)簽");③單行文本框JTextField文本輸入框,常用來(lái)在界面接收用戶(hù)的輸入信息JTextFieldunameField=newJTextField() //創(chuàng)建一個(gè)用戶(hù)名文本輸入框JTextFieldunameField=newJTextField(20)//創(chuàng)建一個(gè)指定列數(shù)的用戶(hù)名文本輸入框//獲取文本框中顯示的字符串unameField.getText();三、Swing常用組件設(shè)置④口令文本框:JPasswordField單行口令文本框JPasswordField允許編輯一個(gè)單行文本,但不顯示原始字符,是一個(gè)專(zhuān)門(mén)用于輸入用戶(hù)口令的文本組件。//創(chuàng)建一個(gè)指定列數(shù)口令文本框JPasswordFieldupwdField=newJPasswordField(14);

//獲取口令文本框中字符串unameField.getPassword();三、Swing常用組件設(shè)置⑤單選按鈕(JRadioButton)單選按鈕為用戶(hù)提供多個(gè)選項(xiàng),讓用戶(hù)從中選擇一項(xiàng),即實(shí)現(xiàn)“多選一”。為了實(shí)現(xiàn)從一組單選按鈕選擇一個(gè),必須要把多個(gè)單選按鈕放入一個(gè)按鈕組(ButtonGroup)//創(chuàng)建ButtonGroup,JRadioButtonButtonGroupbuttonGroup=newButtonGroup();//聲明按鈕組JRadioButtonadminRadioButton=newJRadioButton("管理員");JRa

溫馨提示

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

評(píng)論

0/150

提交評(píng)論