已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《GBT 2900.98-2016 电工术语 电化学》专题研究报告
- 2025年中国保险业社会责任报告
- 《GB-T 40970-2021化妆品中氨含量的测定 滴定法》专题研究报告
- 口腔修复体制作师安全知识宣贯测试考核试卷含答案
- 羽毛球拍制作工诚信道德水平考核试卷含答案
- 《GBT 19355.2-2016 锌覆盖层 钢铁结构防腐蚀的指南和建议 第 2 部分:热浸镀锌》专题研究报告
- 《GB-T 39807-2021无铅电镀锡及锡合金工艺规范》专题研究报告
- 电线电缆挤塑工岗后模拟考核试卷含答案
- 家用视频产品维修工班组管理考核试卷含答案
- 压电石英片烧银焊线工职业健康技术规程
- 北师大版六年级数学上册第五单元《数据处理》(大单元教学设计)
- 蒋诗萌小品《谁杀死了周日》台词完整版
- 儿科主任竞选演讲稿
- ISSU技术白皮书手册
- JB T 6527-2006组合冷库用隔热夹芯板
- 考场座位号模板
- 工程制图试卷A标准答案及评分标准
- 工程测量期末考试试卷(附带答案)
- 罗马国际公约全文
- 江西版(赣美版)小学六年级美术上册期末复习知识点
- 发展蓝图年度公司组织架构规划
评论
0/150
提交评论