資源描述:
《Java 語言程序設計8》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、第八章AWT及Applet編程AWTAWT事件驅動模型Applet編程抽象窗口工具集AWTJava.awt包包括建立GUI所需基本組件。Java.awt的主要類及層次關系ObjectBorderLayoutEventFlowLayoutGridBagLayoutMenuComponentMenuBarMenuItemComponentButtonContainerpanelwindowScrollPane...DialogFrameApplet...容器(container)組件必須放在容器中容器主要包括:窗口(Window,Fr
2、ame)面板(Panel)ContainerPanelWindowScrollPaneDialogFrameAppletFrame帶有標題并可改變大小,可以使用add()方法向Frame中加組件。importjava.awt.*;publicclassMyFrameextendsFrame{publicstaticvoidmain(Stringargs[]){MyFramefr=newMyFrame(“HelloOutThere!”);fr.setSize(500,500);fr.setBackground(color.green
3、);fr.setVisible(true);}publicMyFrame(Stringstr){super(str);}}HelloOutThere!PanelPanel必須放在Window或Frame中。是一塊無邊框的區(qū)域??梢韵蚱渲蟹湃牖窘M件?!璮r=newFrame(“FramewithPanel”);Panelpan=newPanel();fr.setSize(200,200);fr.setBackground(Color.red);pan.setSize(100,100);pan.setBackground(Color
4、.yellow);fr.add(pan);fr.setVisible(true);…}FramewithPanelLayoutManager(布局管理器)LayoutManager容器中組件的布局通常由LayoutManager控制。LayoutManager負責決定容器的布局策略及容器內每個組件的大小。每個容器都由一個缺省的LayoutManager,可通過setLayout()方法改變。Java提供的布局管理器FlowLayoutBorderLayoutGridLayoutCardLayoutGridBagLayoutFlow
5、LayoutManager組件采用從左到右,從上到下逐行擺放。FlowLayoutOpenCloseokFlowLayoutOpenCloseokFlowLayout.LEFTFlowLayout.RIGHTFlowLayout.CENTER缺省是居中setLayout(newFlowLayout(intalign,inthgap,intvgap))FlowLayoutManager示例importjava.awt.*;publicclassExGui{privateFramef;privateButtonb1;privateBu
6、ttonb2;publicstaticvoidmain(Stringargs[]){ExGuiguiwindow=newExGui();guiWindow.go();}publicvoidgo(){f=newFrame(“GUIexample”);f.setLayout(newFlowLayout());b1=newButton(“PressMe”);b2=newButton(“Don’tPressMe“);f.add(b1);f.add(b2);f.pack();f.setVisible(true);}}GUIexamplePr
7、essMeDon’tPressMeBorderLayoutManagerBorderLayout分5個區(qū):BorderLayoutNorthWestEastSouthCenterBorderLayoutManager構造與安裝BorderLayout:setLayout(newBorderLayout())-組件間無縫隙setLayout(newBorderLayout(inthgap,intVgap));加入組件:add(button,BorderLayout.CENTER)GridLayoutManager把窗口分成網(wǎng)格,n行
8、*m列。組件從左到右,從上到下填充。構造與安裝布局管理器:setLayout(newGridLayout(introws,intcols));GridLayoutManager示例…f=newFrame(“Grid”);f.setLayout(ne