版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
JavaGUI應(yīng)用程序設(shè)計(jì)
7.1抽象窗口工具集(AWT)AWT--AbstractWindowToolkitGUI--GraphicalUserInterfaceAWT中定義了多種類(lèi)和接口,用于在JavaApplication/Applet中進(jìn)行GUI設(shè)計(jì)java程序要顯示的GUI組件必須是抽象類(lèi)Component或MenuComponent的子類(lèi)AWT組件相關(guān)類(lèi)的層次關(guān)系
圖7-1JavaAWT組件類(lèi)的層次關(guān)系
設(shè)計(jì)和實(shí)現(xiàn)用戶(hù)圖形界面
主要包括以下三個(gè)方面:
l設(shè)計(jì)組件(Component):包括設(shè)計(jì)Java.awt包中提供的組件和用戶(hù)自定義的組件;l
指定布局(Layout);根據(jù)設(shè)計(jì)需要排列容器內(nèi)各組件的位置;l
設(shè)計(jì)響應(yīng)事件(Event)。java.awt包java.awt包
提供了基本的java程序GUI設(shè)計(jì)工具。Component/MenuComponentContainerLayoutManager7.1.1容器(Container)容器(Container)實(shí)際上是Component的子類(lèi),因此容器類(lèi)對(duì)象本身也是一個(gè)組件,具有組件的所有性質(zhì),另外還具有容納其它組件和容器的功能。容器類(lèi)對(duì)象可使用方法add()添加組件兩種主要的容器類(lèi)型Window:可自由停泊的頂級(jí)窗口Panel:可作為容器容納其它組件,但不能獨(dú)立存在,必須被添加到其它容器中(如Window或Applet)Java中GUI容器類(lèi)層次
Frame類(lèi)Frame類(lèi)是抽象類(lèi)Window的子類(lèi)Frame對(duì)象顯示效果是一個(gè)“窗口”,帶有標(biāo)題和尺寸重置角標(biāo)默認(rèn)初始化為不可見(jiàn)的,可使用setVisible(true)方法使之變?yōu)榭梢?jiàn)默認(rèn)的布局管理器是BorderLayout可使用setLayout()方法改變其默認(rèn)布局管理器Frame類(lèi)繼承層次java.lang.Object|+----java.awt.Component|+----java.awt.Container|+----java.awt.Window| +----java.awt.FrameFrame類(lèi)
Frame應(yīng)用舉例
importjava.awt.*;publicclassTestFrame{ publicstaticvoidmain(Stringargs[]){ Framef=newFrame("MyFrameTest"); f.setSize(170,100); f.setBackground(Color.blue); f.setVisible(true); }}Panel類(lèi)提供容納組件的空間可以采用和所在容器不同的布局管理器
Panel類(lèi)的繼承層次java.lang.Object|+----java.awt.Component|+----java.awt.Container| +----java.awt.Panel
Panel
應(yīng)用舉例importjava.awt.*;publicclassTestFrameWithPanel{publicstaticvoidmain(Stringargs[]){ Framef=newFrame("My
FrameWithPanel
Test");Panelpan=newPanel();f.setSize(180,100);f.setBackground(Color.blue);f.setLayout(null);//取消布局管理器
pan.setSize(100,60);pan.setBackground(Color.green);f.add(pan);f.setVisible(true);}}7.1.2布局管理器為了使我們生成的圖形用戶(hù)界面具有良好的平臺(tái)無(wú)關(guān)性,Java語(yǔ)言中,提供了布局管理器這個(gè)工具來(lái)管理組件在容器中的布局,而不使用直接設(shè)置組件位置和大小的方式。每個(gè)容器都有一個(gè)布局管理器,當(dāng)容器需要對(duì)某個(gè)組件進(jìn)行定位或判斷其大小尺寸時(shí),就會(huì)調(diào)用其對(duì)應(yīng)的布局管理器。容器布局(ContainerLayouts)
FlowLayoutBorderLayoutGridLayoutCardLayoutGridBagLayout默認(rèn)布局管理器ComponentContainerWindowPanelFrameDialogAppletBorderLayoutFlowLayoutFlowLayout布局管理器FlowLayout是Panel類(lèi)的默認(rèn)布局管理器FlowLayout布局對(duì)組件逐行定位,行內(nèi)從左到右,一行排滿(mǎn)后換行默認(rèn)對(duì)齊方式為居中對(duì)齊不改變組件的大小,按組件原有尺寸顯示組件可在構(gòu)造方法中設(shè)置不同的組件間距、行距及對(duì)齊方式FlowLayout舉例importjava.awt.*;publicclassTestFlowLayout{publicstaticvoidmain(Stringargs[]){ Framef=newFrame("FlowLayout");Buttonbutton1=newButton("Ok");Buttonbutton2=newButton("Open");Buttonbutton3=newButton("Close");f.setLayout(newFlowLayout());f.add(button1);f.add(button2);f.add(button3);f.setSize(100,100);f.setVisible(true);}}FlowLayout的構(gòu)造方法newFlowLayout(FlowLayout.RIGHT,20,40);
右對(duì)齊,組件之間水平間距20個(gè)像素,豎直間距40個(gè)像素;newFlowLayout(FlowLayout.LEFT);
左對(duì)齊,水平和豎直間距為缺省值:5;newFlowLayout();
使用缺省的居中對(duì)齊方式,水平和豎直間距為缺省值:5;BorderLayout布局管理器BorderLayout是Frame類(lèi)的默認(rèn)布局管理器BorderLayout將整個(gè)容器的布局劃分成東、西、南、北、中五個(gè)區(qū)域,組件只能被添加到指定的區(qū)域如不指定組件的加入部位,則默認(rèn)加入到Center區(qū)域每個(gè)區(qū)域只能加入一個(gè)組件,如加入多個(gè),則先前加入的組件會(huì)被遺棄BorderLayout布局管理器BorderLayout型布局容器尺寸縮放原則北、南兩個(gè)區(qū)域只能在水平方向縮放(寬度可調(diào)整)東、西兩個(gè)區(qū)域只能在垂直方向縮放(高度可調(diào)整)中部可在兩個(gè)方向上縮放北南西東中部BorderLayout舉例importjava.awt.*;publicclassTestBorderLayout{ publicstaticvoidmain(Stringargs[]){ Framef; f=newFrame("BorderLayout");
Buttonbn=newButton("BN");
Buttonbs=newButton("BS");
Buttonbw=newButton("BW"); Buttonbe=newButton("BE");
Buttonbc=newButton("BC"); f.add(bn,"North"); f.add(bs,"South"); f.add(bw,"West"); f.add(be,"East"); f.add(bc,"Center"); f.setSize(200,200); f.setVisible(true); }}GridLayout
布局管理器GridLayout型布局管理器將布局劃分成規(guī)則的矩形網(wǎng)格,每個(gè)單元格區(qū)域大小相等.組件被添加到每個(gè)單元格中,先從左到右添滿(mǎn)一行后換行,再?gòu)纳系较?在GridLayout構(gòu)造方法中指定分割的行數(shù)和列數(shù).
newGridLayout(3,4);GridLayout舉例importjava.awt.*;publicclassTestGridLayout{publicstaticvoidmain(Stringargs[]){Framef=newFrame("GridLayoutExample");Buttonb1=newButton("b1");Buttonb2=newButton("b2");Buttonb3=newButton("b3");Buttonb4=newButton("b4");Buttonb5=newButton("b5");Buttonb6=newButton("b6");f.setLayout(newGridLayout(3,2));f.add(b1);f.add(b2);f.add(b3);f.add(b4);f.add(b5);f.add(b6);f.pack();f.setVisible(true);}}CardLayout
布局管理器CardLayout布局管理器能夠幫助用戶(hù)處理兩個(gè)以至更多的成員共享同一顯示空間,就好象一疊卡片摞在一起。注意:在一張卡片中只能顯示一個(gè)組件,因此可以使用容器嵌套方法顯示多個(gè)組件。
布局管理器總結(jié)(1)FrameFrame是一個(gè)頂級(jí)窗口。Frame的缺省布局管理器為BorderLayout。PanelPanel無(wú)法單獨(dú)顯示,必須添加到某個(gè)容器中。Panel的缺省布局管理器為FlowLayout。當(dāng)把Panel作為一個(gè)組件添加到某個(gè)容器中后,該P(yáng)anel仍然可以有自己的布局管理器。因此,可以利用Panel使得BorderLayout中某個(gè)區(qū)域顯示多個(gè)組件。布局管理器總結(jié)(2)在程序中安排組件的位置和大小時(shí),應(yīng)注意:容器中的布局管理器負(fù)責(zé)各個(gè)組件的大小和位置,因此用戶(hù)無(wú)法在這種情況下設(shè)置組件的這些屬性。如果試圖使用Java語(yǔ)言提供的setLocation(),setSize(),setBounds()等方法,則都會(huì)被布局管理器覆蓋。如果用戶(hù)確實(shí)需要親自設(shè)置組件大小或位置,則應(yīng)取消該容器的布局管理器,方法為:
setLayout(null);7.1.3標(biāo)簽和文本編輯區(qū)
Java的圖形用戶(hù)界面的最基本組成部分是組件,組件是一個(gè)可以以圖形化的方式顯示在屏幕上并能與用戶(hù)進(jìn)行交互的對(duì)象。組件不能獨(dú)立地顯示出來(lái),必須將組件放在一定的容器中才可以顯示出來(lái)。組件是圖形用戶(hù)界面標(biāo)準(zhǔn)化的結(jié)果,標(biāo)簽和文本編輯區(qū)就是常用的控制組件。
7.1.3標(biāo)簽和文本編輯區(qū)標(biāo)簽(Label)是用于顯示一行文本,這行文本的內(nèi)容只能在程序中設(shè)置或修改,用戶(hù)使用過(guò)程中無(wú)法修改,Label類(lèi)是Java.awt包中專(zhuān)門(mén)用來(lái)建立標(biāo)簽的;
Java中用于處理文本的基本組件有兩種:?jiǎn)涡形谋究騎extField和多行文本區(qū)域TextArea。
組件定位Java組件在容器中的位置和尺寸由布局管理器決定如要人工控制組件在容器中的大小位置,可取消布局管理器,然后使用Component類(lèi)的下述成員方法:setLocation()setSize()setBounds()文本編輯區(qū)應(yīng)用舉例
importjava.applet.*;importjava.awt.*;publicclassTestTextFieldextendsApplet{TextFieldtext1,text2,text3,text4,text5;publicvoidinit(){text1=newTextField("請(qǐng)輸入用戶(hù)名:",10);text1.setEditable(false);text2=newTextField(20);text3=newTextField("請(qǐng)輸入密碼:",10);text3.setEditable(false);text4=newTextField(20);text4.setEchoChar('*');text5=newTextField("登錄界面",20);
add(text1);add(text2);add(text3);add(text4);add(text5);}}AWT
繪圖可以在任何Java組件上繪圖(通常Canvas和Panel組件更適合用于繪圖)每個(gè)Java組件都有一個(gè)publicvoidpaint(Graphicsg)方法專(zhuān)門(mén)用于繪圖目的,每次重畫(huà)該組件時(shí)都自動(dòng)調(diào)用paint方法。每個(gè)Java組件都有一個(gè)Graphics類(lèi)型的屬性,該屬性(對(duì)象)真正完成在相應(yīng)組件上的繪圖功能。Graphics類(lèi)中實(shí)現(xiàn)了許多繪圖方法: --繪制邊框(非填充圖形) --填充特定區(qū)域 --繪制其它形狀圖形AWT
繪圖舉例importjava.awt.*;publicclassAWTDrawing{privateFramef=newFrame("HelloOutThere!");privatePanelp=newPanel(); publicvoidlaunchFrame(){ f.add(p); f.setSize(170,170); f.setBackground(Color.blue); f.setVisible(true); p.setForeground(Color.red);
Graphicsg=p.getGraphics(); g.drawArc(30,40,50,60,70,80); g.fillArc(30,40,50,60,70,80); } publicstaticvoidmain(Stringargs[]){ AWTDrawingguiWindow=newAWTDrawing(); guiWindow.launchFrame();}}AWT
繪圖舉例importjava.awt.*;classSubPanelextendsPanel{ publicvoidpaint(Graphicsg){ g.drawString("thisisadrawingtest!",20,20); g.drawLine(30,60,100,120); g.draw3DRect(60,50,70,30,false); } } publicclassAWTDrawing2{privateFramef=newFrame("HelloOutThere!");privateSubPanelp=newSubPanel();publicvoidlaunchFrame(){ f.add(p); f.setSize(170,170); f.setBackground(newColor(89,145,145)); f.setVisible(true);}publicstaticvoidmain(Stringargs[]){ AWTDrawing2guiWindow=newAWTDrawing2(); guiWindow.launchFrame();}}7.1.4事件處理事件(Event)–一個(gè)對(duì)象,它描述了發(fā)生什么事情事件源(Eventsource)–產(chǎn)生事件的組件監(jiān)聽(tīng)器接口(事件處理方法)–能夠接收、解析和處理事件類(lèi)對(duì)象、實(shí)現(xiàn)和用戶(hù)交互的方法用戶(hù)鼠標(biāo)點(diǎn)擊actionPerformed(ActionEvente){……}①②③ActionEvent事件處理模型(DelegationModel)一個(gè)事件可以被發(fā)送到多個(gè)不同的處理方法.如果關(guān)注某個(gè)組件產(chǎn)生的事件,則可以在該組件上注冊(cè)適當(dāng)?shù)氖录幚矸椒?,?shí)際上注冊(cè)的事件處理者方法所屬類(lèi)型的一個(gè)對(duì)象----事件監(jiān)聽(tīng)器事件處理模型JavaGUI設(shè)計(jì)中,通過(guò)注冊(cè)監(jiān)聽(tīng)器的方式對(duì)所關(guān)注的事件源進(jìn)行監(jiān)控。注冊(cè)監(jiān)聽(tīng)器時(shí)應(yīng)指明該監(jiān)聽(tīng)器監(jiān)控(感興趣)的事件種類(lèi)。當(dāng)事件源發(fā)生了某種類(lèi)型的事件時(shí),只觸發(fā)事先已就該種事件類(lèi)型注冊(cè)過(guò)的監(jiān)聽(tīng)器。Java事件分類(lèi)JavaGUI事件及相應(yīng)監(jiān)聽(tīng)器接口(1)事件類(lèi)型相應(yīng)監(jiān)聽(tīng)器接口監(jiān)聽(tīng)器接口中的方法ActionActionListeneractionPerformed(ActionEvent)ItemItemListeneritemStateChanged(ItemEvent)MouseMouseListenermousePressed(MouseEvent)mouseReleased(MouseEvent)mouseEntered(MouseEvent)mouseExited(MouseEvent)mouseClicked(MouseEvent)MouseMotionMouseMotionListenermouseDragged(MouseEvent)mouseMoved(MouseEvent)KeyKeyListenerkeyPressed(KeyEvent)keyReleased(KeyEvent)keyTyped(KeyEvent)FocusFocusListenerfocusGained(FocusEvent)focusLost(FocusEvent)JavaGUI事件及相應(yīng)監(jiān)聽(tīng)器接口(2)事件類(lèi)型相應(yīng)監(jiān)聽(tīng)器接口監(jiān)聽(tīng)器接口中的方法AdjustmentAdjustmentListeneradjustmentValueChanged(AdjustmentEvent)ComponentComponentListenercomponentMoved(ComponentEvent)componentHidden(ComponentEvent)componentResized(ComponentEvent)componentShown(ComponentEvent)WindowWindowListenerwindowClosing(WindowEvent)windowOpened(WindowEvent)windowIconified(WindowEvent)windowDeiconified(WindowEvent)windowClosed(WindowEvent)windowActivated(WindowEvent)windowDeactivated(WindowEvent)ContainerContainerListenercomponentAdded(ContainerEvent)componentRemoved(ContainerEvent)TextTextListenertextValueChanged(TextEvent)多重監(jiān)聽(tīng)器一般情況下,事件源可以產(chǎn)生多種不同類(lèi)型的事件,因而可以注冊(cè)(觸發(fā))多種不同類(lèi)型的監(jiān)聽(tīng)器。一個(gè)事件源組件上可以注冊(cè)多個(gè)監(jiān)聽(tīng)器,針對(duì)同一個(gè)事件源的同一種事件也可以注冊(cè)多個(gè)監(jiān)聽(tīng)器,一個(gè)監(jiān)聽(tīng)器可以被注冊(cè)到多個(gè)不同的事件源上。Java事件處理舉例多重監(jiān)聽(tīng)器應(yīng)用案例見(jiàn)例7-10,p1807.2ATW組件庫(kù)
7.2.1Component類(lèi):抽象類(lèi)Component是所有JavaGUI組件的共同父類(lèi)。Component類(lèi)規(guī)定了所有GUI組件的基本特性,該類(lèi)中定義的方法實(shí)現(xiàn)了作為一個(gè)GUI部件所應(yīng)具備的基本功能。
Component類(lèi)(及其子類(lèi))中常用的屬性和對(duì)應(yīng)的操作屬性的方法見(jiàn)下頁(yè)表格
Component及其子類(lèi)常用屬性和方法屬性名稱(chēng)
設(shè)置屬性的方法
獲取屬性的方法背景顏色voidsetBackground(Color)ColorgetBackground()邊界voidsetBounds(Rectangle)voidsetBounds(int,int,int,int)RectanglegetBounds()光標(biāo)voidsetCursor(Cursor)CursorgetCursor()拖放目標(biāo)voidsetDropTarget(DropTarget)DropTargetgetDropTarget()使能voidsetEnabled(boolean)booleanisEnabled()字體voidsetFont(Font)FontgetFont()前景色voidsetForeground(Color)ColorgetForeground()地區(qū)voidsetLocale(Locale)LocalegetLocale()位置voidsetLocation(Point)voidsetLocation(int,int)PontgetLocation()PointgetLocationOnScreen()部件名稱(chēng)voidsetName(String)StringgetName()尺寸voidsetSize(Dimension)DimensiongetSize()可見(jiàn)性voidsetVisible(boolean)booleangetVisible()常用AWT組件組件類(lèi)型說(shuō)明Button可接收點(diǎn)擊操作的矩形GUI組件Canvas用于繪圖的面板Checkbox復(fù)選框組件CheckboxMenuItem復(fù)選框菜單項(xiàng)組件Choice下拉式列表框,內(nèi)容不可改變Component組件類(lèi)Container容器類(lèi)Dialog對(duì)話(huà)框組件,頂級(jí)窗口、帶標(biāo)題欄Frame基本的JavaGUI窗口組件Label標(biāo)簽類(lèi)List包含內(nèi)容可變的條目的列表框組件Menu菜單組件MenuItem菜單項(xiàng)(二級(jí)菜單)組件Panel基本容器類(lèi),不能單獨(dú)停泊Scrollbar滾動(dòng)條組件ScrollPane帶水平及垂直滾動(dòng)條的容器組件TextArea多行文本域TextField單行文本框Window抽象的GUI窗口類(lèi),無(wú)布局管理器7.2.2復(fù)選框和單選框復(fù)選框(Checkbox)用于設(shè)置多重選擇,單選框用于設(shè)置單項(xiàng)選擇。
Checkboxchk=newCheckbox(“one”,null,true);//標(biāo)簽,組名,狀態(tài),復(fù)選框?qū)?fù)選框用CheckboxGroup進(jìn)行分組即變?yōu)閱芜x框。CheckboxGroupchkg=newCheckboxGroup();Checkboxchk=newCheckbox(“one”,chkg,true);應(yīng)用案例見(jiàn)例7-11,例7-12,例7-137.2.3下拉列表框和列表框Choice(下拉式菜單)每次只能選擇一項(xiàng)Choicech=newChoice();
ch.add(“Green”);
ch.add(“Red”);下拉列表框(Choice)事件源產(chǎn)生的事件是ItemEvent類(lèi)型.處理該事件的接口是ItemListener,接口中的方法是itemStateChanged(ItemEvente)。
List(列表)支持單選和多選Listl=newList(4,false);//行數(shù),是否多選列表框List類(lèi)的事件比下拉列表框Choice要復(fù)雜,雙擊列表框List上的選項(xiàng)引發(fā)選項(xiàng)事件ItemEvent和動(dòng)作事件ActionEvent,下拉列表框Choice僅引發(fā)ItemEvent類(lèi)事件。應(yīng)用案例見(jiàn)例7-11,例7-12,例7-137.2.4按鈕(Button)Buttonb=newButton(“Quit”)add(b);注:1:當(dāng)按鈕對(duì)象被點(diǎn)擊后,將會(huì)發(fā)生ActionEvent事件2:getActionCommand()獲得標(biāo)識(shí)名3:setActionCommand()設(shè)置標(biāo)識(shí)名應(yīng)用案例見(jiàn)例7-11,例7-12,例7-137.2.5窗口和菜單
窗口就是由java.awt包中的Frame類(lèi)或子類(lèi)所創(chuàng)建的對(duì)象;窗口默認(rèn)布局是BorderLayout;Frame類(lèi)是Window類(lèi)的子類(lèi),其常用的方法簡(jiǎn)單,在使用時(shí)只需要如何創(chuàng)建、顯示和關(guān)閉就可以了。
如何創(chuàng)建菜單首先創(chuàng)建一個(gè)MenuBar對(duì)象,并將其置于一個(gè)可容納菜單的容器(如Frame對(duì)象)中。創(chuàng)建一個(gè)或多個(gè)Menu對(duì)象,并將它們添加到先前創(chuàng)建的MenuBar對(duì)象中。創(chuàng)建一個(gè)或多個(gè)MenuItem對(duì)象,再將其加入到各Menu對(duì)象中創(chuàng)建MenuBar例7-17:創(chuàng)建
MenuBar
importjava.awt.*;publicclassTestMenuBar{publicstaticvoidmain(String[]args){ Framef=newFrame("MenuBar"); MenuBarmb=newMenuBar(); f.setMenuBar(mb); f.setSize(200,150); f.setVisible(true);}}創(chuàng)建Menuimportjava.awt.*;publicclassTestMenu{publicstaticvoidmain(String[]args){ Framef=newFrame("Menu"); MenuBarmb=newMenuBar(); f.setMenuBar(mb); Menum1=newMenu("File"); Menum2=newMenu("Edit"); Menum3=newMenu("Help");
mb.add(m1); mb.add(m2); mb.setHelpMenu(m3); f.setSize(150,120); f.setVisible(true);}}7.2.6對(duì)話(huà)框?qū)υ?huà)框是AWT中常用的容器,它使用Dialog類(lèi),依賴(lài)與其它的窗口運(yùn)行。它提供了一個(gè)有用的FileDialog子類(lèi),能產(chǎn)生一個(gè)文件對(duì)話(huà)框幫助用戶(hù)打開(kāi)和保存文件.對(duì)話(huà)框必須依賴(lài)與其它窗口而存在,當(dāng)它所依賴(lài)的窗口消失時(shí),對(duì)話(huà)框也將隨之關(guān)閉。當(dāng)它依賴(lài)的窗口最小化時(shí),對(duì)話(huà)框也從屏幕上消失,當(dāng)窗口恢復(fù)到正常狀態(tài)時(shí),對(duì)話(huà)框也重新顯示出來(lái)。對(duì)話(huà)框可以分為無(wú)模式對(duì)話(huà)框和有模式對(duì)話(huà)框兩種。應(yīng)用案例見(jiàn)例7-217.3Swing圖形用戶(hù)界面
Swing組件從功能上可以劃分為以下幾類(lèi):頂層容器:JFrame、JApplet、JWindow和JDialog。普通容器:JPanel,JScrollPane,JSplitPane和JTabbedPan,也叫中間層容器,在各種情況下使用。特殊容器:JInternalFrame,JLayerPane,JRootPane和JToolBar,能夠起到特殊作用的容器?;窘M件:如JButton,JComboxBox,JList,JMenu,JSlider和JTextField,是應(yīng)用較多的普通組件。7.3.1Swing中的頂層容器
JFrame類(lèi);
JFrame類(lèi)是java.awt包中Frame類(lèi)的子類(lèi),它繼承了Frame類(lèi)的很多方法,同時(shí)JFrame類(lèi)還有很多特性.
JApplet類(lèi);JApplet類(lèi)是java.awt包中Applet類(lèi)的子類(lèi),它繼承了Frame類(lèi)的很多方法,同時(shí)JApplet類(lèi)還有很多特性.
JDialog類(lèi).
JDialog是java.awt包中Dialog類(lèi)的子類(lèi),必須依賴(lài)于一個(gè)JFrame對(duì)象.應(yīng)用案例見(jiàn)例7-23,例7-24,例7-257.3.2Swing中的中間層容器
JPanel面板;(JPanel容器的默認(rèn)布局是FlowLayout,JPanel類(lèi)有兩個(gè)構(gòu)造方法為JPanel()和JPanel(布局對(duì)象)。JScrollPanel面板;(
JScrollPanel類(lèi)提供了布局管理器JScrollPanelLayout用來(lái)設(shè)定布局,有兩個(gè)構(gòu)造方法為JScrollPanel()和JScrollPanel(Componentc)。JSplitPane面板
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 教程教案上學(xué)期
- 玉溪師范學(xué)院《現(xiàn)代教育技術(shù)應(yīng)用》2021-2022學(xué)年第一學(xué)期期末試卷
- 玉溪師范學(xué)院《小學(xué)語(yǔ)文教學(xué)設(shè)計(jì)與實(shí)踐訓(xùn)練》2022-2023學(xué)年第一學(xué)期期末試卷
- 影視鑒賞教育課件
- 塊料樓地面施工工藝
- 2024年紅外光學(xué)測(cè)量雷達(dá)項(xiàng)目評(píng)價(jià)分析報(bào)告
- 2023年復(fù)配色粉項(xiàng)目綜合評(píng)估報(bào)告
- 2024屆貴州安順市平壩區(qū)集圣中學(xué)高三下學(xué)期3月統(tǒng)一聯(lián)合考試數(shù)學(xué)試題
- 倉(cāng)儲(chǔ)配送合同流程
- 采購(gòu)合同資金結(jié)算流程
- 《如何實(shí)現(xiàn)目標(biāo)》
- 高中區(qū)域地理非洲
- 安徽壹石通化學(xué)科技有限公司年產(chǎn)5萬(wàn)噸氫氧化鎂、5萬(wàn)噸堿式碳酸鎂、1萬(wàn)噸氧化鋯、1000噸硼酸鋅、1000噸五硼酸銨和100噸鈦酸鋇產(chǎn)品項(xiàng)目環(huán)境影響報(bào)告書(shū)
- 2020阿里云產(chǎn)品圖標(biāo)
- 第六單元 第7課時(shí) 解決問(wèn)題(一)(教學(xué)設(shè)計(jì))-三年級(jí)數(shù)學(xué)上冊(cè) 人教版
- 廣東輕工職業(yè)技術(shù)學(xué)院職業(yè)教育專(zhuān)業(yè)教學(xué)資源庫(kù)建設(shè)管理辦法
- GB/T 3499-2003原生鎂錠
- GB/T 12361-2016鋼質(zhì)模鍛件通用技術(shù)條件
- GA 98-2005混凝土結(jié)構(gòu)防火涂料
- FZ/T 62033-2016超細(xì)纖維毛巾
- 初中道德與法治人教九年級(jí)下冊(cè)我們共同的世界《放眼全球經(jīng)濟(jì)》PPT
評(píng)論
0/150
提交評(píng)論