- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
视窗与图形使用者介面
第十一章 視窗與圖形使用 者介面 Windows / Graphical User Interface (GUI) JFC / AWT / Swing / Java 2D JFC (Java Foundation Class) 以AWT為基礎,擴展更多關於GUI的類別。包括AWT, Swing, Pluggable Look Feel, Accessibility, Java 2D與Grag and Drop幾個部分 AWT (Abstract Window Toolkit) Java最早用來處理視窗程式的類別 使用者介面 (Java 2 後由Swing負責) 繪圖工具 (Java 2 後由Java 2D負責) JFC / AWT / Swing / Java 2D Swing 因為以AWT完成的視窗程式,當程式較大、比較複雜時,會有執行速度慢、耗用記憶體較多的情形,所以有Swing的出現解決此類問題 Java 2D 以Graphics 2D為基礎衍生出各種專門處理關於繪圖與圖學方面工作的類別,比如影像處理(圖形灰階、旋轉、縮放…) AWT視窗工具類別 Package : java.awt AWT所有的GUI元件都繼承自Component class 而用以放置這些GUI元件的基礎視窗類別Container類別則是繼承自Component類別,而繼承Container類別的常用類別則有 Window class Panel class Java視窗程式的開發是以Frame class為基礎,Frame class繼承自window class,可以建立一個具有指令按鈕(最大化、最小化、關閉)與視窗名稱(title)的視窗 AWT : GUI元件 Component的子類別 AWT : 在視窗上顯示文字 視窗上顯示文字有兩種方法 新增一個Panel或Label等元件,直接在上面顯示文字 將視窗當作一塊畫布直接將文字畫在視窗上 Swing視窗工具類別 Swing程式套件完全使用Java語言所撰寫的AWT套件(AWT則不完全是由Java所撰寫而成) 為了與AWT的元件有所區別,Swing的套件均以J為開頭(Jbutton, Jlabel, …) 要使用Swing的各項元件必須引入javax.swing的程式套件 Swing的GUI元件 Swing : 在視窗上放置GUI元件 Swing的視窗程式不同於AWT在於 AWT可直接以add()方法將視窗元件加進Frame中 Swing則必須先於JFrame中建構一個內容面板(contentPane) ,然後再將視窗元件加入內容面板中 元件的版面配置 Java提供的六種版面配置方式 FlowLayout 流動式版面配置 BorderLayout 邊界式版面配置 GridLayout 方格式版面配置 CardLayout 多層式版面配置 GridBagLayout 進階方格式版面配置 BoxLayout 盒子式版面配置 FlowLayout 由左而右、由上而下地排列元件 使用方法 Container c=frame1.getContentPane(); FlowLayout f1=new FlowLayout(); c.setLayout(f1); 預設排列方法 BorderLayout 將視窗分為東、西、南、北、中五個區域 使用方法 Container c=frame1.getContentPane(); BorderLayout b1=new BorderLayout(15,10); c.setLayout(b1); 設定間距 取得間距 GridLayout 將視窗分割成格子狀 使用方法 Container c=frame1.getContentPane(); GridLayout g1=new GridLayout(2,3); c.setLayout(g1); 設定間距 Container c=frame1.getContentPane(); GridLayout g1=new GridLayout(2,3,10,15); c.setLayout(g1); CardLayout 將所有元件重疊在一起,後加入的元件放置在第一個元件之後 使用方法 Container c=frame1.getContentPane(); CardLayout c1=new CardLayout(15,10); c.setLayout(c1); c.add(new JButton(元件標籤),名稱字串) 控制顯示元件項目 GridBagLayout 較為複雜的方格配置方式 將元件加入視窗容器時必須搭配GridBagConstraints物
您可能关注的文档
- 行动研究导向下的农业技术扩散及其影响-中国农业大学人文与发展学院.PDF
- 行风评议团与我燃气企业进行座谈-政和林业局.DOC
- 衍射光栅的第二类角色散及其特性分析*.PDF
- 衍射光栅积分理论中核函数的简化及其特性分析*.PDF
- 街道步行指数WalkScore针对整个中国城系统-BeijingCityLab.PDF
- 衡水中学状元笔记生物课时作业29.PDF
- 行行状元一家亲.PPT
- 衔铁一体式电液比例阀来控制旁通油路的流量-江苏大学.PPT
- 衡水中学状元笔记化学课时作业19.PDF
- 补水背景下大盐滩矿区潜卤水水化学特征.PDF
- [莆田]2024年福建莆田市市直学校招聘新任教师和工作人员99人笔试上岸试题历年高频考点难、易错点附带答案详解.docx
- [菏泽]山东菏泽市司法局所属事业单位招聘专业技术岗位工作人员2人笔试上岸试题历年高频考点难、易错点附带答案详解.docx
- [茂名]2024年春季广东茂名市广播电视台赴高校现场招聘急需紧缺专业人员4人笔试上岸试题历年高频考点难、易错点附带答案详解.docx
- [茂名]广东茂名市茂南石化工业园管理中心招聘政府购买服务人员9人笔试上岸试题历年高频考点难、易错点附带答案详解.docx
- [营口]辽宁营口市卫健委所属事业单位校园招聘事业编制专业技术人员笔试上岸试题历年高频考点难、易错点附带答案详解.docx
- [衢州]2024年浙江衢州龙游县卫健系统医疗卫技人员提前批招聘41人笔试上岸试题历年高频考点难、易错点附带答案详解.docx
- [蚌埠]2024年安徽蚌埠医科大学招聘高层次人才笔试上岸试题历年高频考点难、易错点附带答案详解.docx
- [衢州]2024年浙江衢州市卫生健康委员会衢州市市直卫生健康单位招聘64人笔试上岸试题历年高频考点难、易错点附带答案详解.docx
- 2023医药商品学理论知识考核试题及答案.pdf
- 2023医学检验模拟试题.pdf
文档评论(0)