




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 Chapter12GUIBasics 2 Motivations ThedesignoftheAPIforJavaGUIprogrammingisanexcellentexampleofhowtheobject orientedprincipleisapplied Inthechaptersthatfollow youwilllearntheframeworkofJavaGUIAPIandusetheGUIcomponentstodevelopuser friendlyinterfacesforapplicationsandapplets 3 Objectives TodistinguishbetweenSwingandAWT 12 2 TodescribetheJavaGUIAPIhierarchy 12 3 Tocreateuserinterfacesusingframes panels andsimpleGUIcomponents 12 4 Tounderstandtheroleoflayoutmanagers 12 5 TousetheFlowLayout GridLayout andBorderLayoutmanagerstolayoutcomponentsinacontainer 12 5 TouseJPanelassubcontainers 12 7 TospecifycolorsandfontsusingtheColorandFontclasses 12 7 12 8 Toapplycommonfeaturessuchasborders tooltips fonts andcolorsonSwingcomponents 12 9 Touseborderstovisuallygroupuser interfacecomponents 12 9 TocreateimageiconsusingtheImageIconclass 12 10 4 CreatingGUIObjects CreateabuttonwithtextOKJButtonjbtOK newJButton OK Createalabelwithtext Enteryourname JLabeljlblName newJLabel Enteryourname Createatextfieldwithtext TypeNameHere JTextFieldjtfName newJTextField TypeNameHere CreateacheckboxwithtextboldJCheckBoxjchkBold newJCheckBox Bold CreatearadiobuttonwithtextredJRadioButtonjrbRed newJRadioButton Red Createacomboboxwithchoicesred green andblueJComboBoxjcboColor newJComboBox newString Red Green Blue Button Label Textfield CheckBox RadioButton ComboBox 5 Swingvs AWT SowhydotheGUIcomponentclasseshaveaprefixJ InsteadofJButton whynotnameitsimplyButton Infact thereisaclassalreadynamedButtoninthejava awtpackage WhenJavawasintroduced theGUIclasseswerebundledinalibraryknownastheAbstractWindowsToolkit AWT ForeveryplatformonwhichJavaruns theAWTcomponentsareautomaticallymappedtotheplatform specificcomponentsthroughtheirrespectiveagents knownaspeers AWTisfinefordevelopingsimplegraphicaluserinterfaces butnotfordevelopingcomprehensiveGUIprojects Besides AWTispronetoplatform specificbugsbecauseitspeer basedapproachreliesheavilyontheunderlyingplatform WiththereleaseofJava2 theAWTuser interfacecomponentswerereplacedbyamorerobust versatile andflexiblelibraryknownasSwingcomponents SwingcomponentsarepainteddirectlyoncanvasesusingJavacode exceptforcomponentsthataresubclassesofjava awt Windoworjava awt Panel whichmustbedrawnusingnativeGUIonaspecificplatform SwingcomponentsarelessdependentonthetargetplatformanduselessofthenativeGUIresource Forthisreason Swingcomponentsthatdon trelyonnativeGUIarereferredtoaslightweightcomponents andAWTcomponentsarereferredtoasheavyweightcomponents 6 GUIClassHierarchy Swing 7 ContainerClasses ContainerclassescancontainotherGUIcomponents 8 ThehelperclassesarenotsubclassesofComponent TheyareusedtodescribethepropertiesofGUIcomponentssuchasgraphicscontext colors fonts anddimension GUIHelperClasses 9 SwingGUIComponents 10 ComponentsCoveredintheBriefVersion 11 ComponentsCoveredintheComprehensiveVersion 12 AWT Optional 13 Frames Frameisawindowthatisnotcontainedinsideanotherwindow FrameisthebasistocontainotheruserinterfacecomponentsinJavaGUIapplications TheJFrameclasscanbeusedtocreatewindows ForSwingGUIprograms useJFrameclasstocreatewidows 14 CreatingFrames Run importjavax swing publicclassMyFrame publicstaticvoidmain String args JFrameframe newJFrame TestFrame frame setSize 400 300 frame setVisible true frame setDefaultCloseOperation JFrame EXIT ON CLOSE MyFrame 15 AddingComponentsintoaFrame Addabuttonintotheframeframe getContentPane add newJButton OK Run MyFrameWithComponents Titlebar Contentpane 16 ContentPaneDelegationinJDK1 5 Addabuttonintotheframeframe getContentPane add newJButton OK Titlebar Contentpane Addabuttonintotheframeframe add newJButton OK 17 JFrameClass 18 LayoutManagers Java slayoutmanagersprovidealevelofabstractiontoautomaticallymapyouruserinterfaceonallwindowsystems TheUIcomponentsareplacedincontainers EachcontainerhasalayoutmanagertoarrangetheUIcomponentswithinthecontainer LayoutmanagersaresetincontainersusingthesetLayout LayoutManager methodinacontainer 19 KindsofLayoutManagers FlowLayout Chapter13 GridLayout Chapter13 BorderLayout Chapter13 SeveralotherlayoutmanagerswillbeintroducedinChapter33 Containers LayoutManagers andBorders 20 FlowLayoutExample WriteaprogramthataddsthreelabelsandtextfieldsintothecontentpaneofaframewithaFlowLayoutmanager ShowFlowLayout Run 21 TheFlowLayoutClass 22 GridLayoutExample RewritetheprogramintheprecedingexampleusingaGridLayoutmanagerinsteadofaFlowLayoutmanagertodisplaythelabelsandtextfields ShowGridLayout Run 23 TheGridLayoutClass 24 TheBorderLayoutManager TheBorderLayoutmanagerdividesthecontainerintofiveareas East South West North andCenter ComponentsareaddedtoaBorderLayoutbyusingtheaddmethod add Component constraint whereconstraintisBorderLayout EAST BorderLayout SOUTH BorderLayout WEST BorderLayout NORTH orBorderLayout CENTER 25 BorderLayoutExample ShowBorderLayout Run 26 TheBorderLayoutClass 27 TheColorClass YoucansetcolorsforGUIcomponentsbyusingthejava awt Colorclass Colorsaremadeofred green andbluecomponents eachofwhichisrepresentedbyabytevaluethatdescribesitsintensity rangingfrom0 darkestshade to255 lightestshade ThisisknownastheRGBmodel Colorc newColor r g b r g andbspecifyacolorbyitsred green andbluecomponents Example Colorc newColor 228 100 255 28 StandardColors Thirteenstandardcolors black blue cyan darkGray gray green lightGray magenta orange pink red white yellow aredefinedasconstantsinjava awt Color Thestandardcolornamesareconstants buttheyarenamedasvariableswithlowercaseforthefirstwordanduppercaseforthefirstlettersofsubsequentwords ThusthecolornamesviolatetheJavanamingconvention SinceJDK1 4 youcanalsousethenewconstants BLACK BLUE CYAN DARK GRAY GRAY GREEN LIGHT GRAY MAGENTA ORANGE PINK RED WHITE andYELLOW 29 SettingColors Youcanusethefollowingmethodstosetthecomponent sbackgroundandforegroundcolors setBackground Colorc setForeground Colorc Example jbt setBackground Color yellow jbt setForeground Color red 30 TheFontClass FontmyFont newFont name style size Example FontmyFont newFont SansSerif Font BOLD 16 FontmyFont newFont Serif Font BOLD Font ITALIC 12 JButtonjbtOK newJButton OK jbtOK setFont myFont FontNamesStandardfontnamesthataresupportedinallplatformsare SansSerif Serif Monospaced Dialog orDialogInput FontStyleFont PLAIN 0 Font BOLD 1 Font ITALIC 2 andFont BOLD Font ITALIC 3 31 FindingAllAvailableFontNames GraphicsEnvironmente GraphicsEnvironment getLocalGraphicsEnvironment String fontnames e getAvailableFontFamilyNames for inti 0 i fontnames length i System out println fontnames i 32 UsingPanelsasSub Containers Panelsactassub containersforgroupinguserinterfacecomponents Itisrecommendedthatyouplacetheuserinterfacecomponentsinpanelsandplacethepanelsinaframe Youcanalsoplacepanelsinapanel ToaddacomponenttoJFrame youactuallyaddittothecontentpaneofJFrame Toaddacomponenttoapanel youadditdirectlytothepanelusingtheaddmethod 33 CreatingaJPanel YoucanusenewJPanel tocreateapanelwithadefaultFlowLayoutmanagerornewJPanel LayoutManager tocreateapanelwiththespecifiedlayoutmanager Usetheadd Component methodtoaddacomponenttothepanel Forexample JPanelp newJPanel p add newJButton OK 34 TestingPanelsExample Thisexampleusespanelstoorganizecomponents TheprogramcreatesauserinterfaceforaMicrowaveoven TestPanels Run 35 CommonFeaturesofSwingComponents 36 Borders YoucansetaborderonanyobjectoftheJComponentclass Swinghasseveraltypesofborders Tocreateatitledborder usenewTitledBorder Stringtitle Tocreatealineborder usenewLineBorder Colorcolor intwidth wherewidthspecifiesthethicknessoftheline Forexample thefollowingcodedisplaysatitledborderonapanel JPanelpanel newJPanel panel setBorder newTitleBorder MyPanel 37 TestSwingCommonFeatures ComponentProp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 任务造型专业知识培训课件
- 飞机雷达调试工工作优先级判断考核试卷及答案
- 输蔗破碎工工艺作业技术规程
- 配方合作协议书
- 道岔钳工供应商评价配合考核试卷及答案
- 公司碳酸二甲酯装置操作工标准化技术规程
- 兽药专业知识考核培训课件
- 广东省肇庆市肇庆第四中学2026届数学八上期末检测模拟试题含解析
- 专项行动安全知识培训课件
- 专项培训课件
- 初中竞选安全部部长
- 【MOOC】人工智能原理-北京大学 中国大学慕课MOOC答案
- 喷雾干燥塔操作规程模版(3篇)
- 现代交换原理第二章
- 2024版工业润滑油销售协议范例版
- 关闸马路环境监测
- 期中阶段重难点检测卷(第1-3单元)(试题)-2024-2025学年数学五年级上册人教版
- 油漆作业风险和隐患辨识、评估分级与控制措施一览表
- 手术室缩短接台时间
- 冠脉介入进修汇报
- 咽部异物课件
评论
0/150
提交评论