欢迎来到天天文库
浏览记录
ID:45849240
大小:1.06 MB
页数:87页
时间:2019-11-18
《JAVA程序语言系列讲座-GUI》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Java程序设计系列讲座-4GUI程序设计黄绍辉厦门大学计算机科学系E-mail:hsh@xmu.edu.cn先学习纯界面制作Swingvs.AWTAWT是Swing的基础。AWT设计的初衷是支持开发小应用程序的简单用户界面。但是AWT存在着严重的缺陷,并且缺少剪贴板、打印支持、键盘导航等特性。Swing是由100%纯Java实现的,是用Java实现的轻量级(light-weight)组件,没有本地代码,不依赖操作系统的支持,这是它与AWT组件的最大区别。Swing采用了一种MVC的设计范式,即“模型-视图-控制”(Model-View-Controller),其
2、中模型用来保存内容,视图用来显示内容,控制器用来控制用户输入。Swing外观感觉采用可插入的外观感觉(PluggableLookandFeel,PL&F),并且程序在一个平台上运行时能够有不同的外观。用户可以选择自己习惯的外观。基本GUI组件//CreateabuttonwithtextOKJButtonjbtOK=newJButton("OK");//Createalabelwithtext"Enteryourname:"JLabeljlblName=newJLabel("Enteryourname:");//Createatextfieldwithtext"Ty
3、peNameHere"JTextFieldjtfName=newJTextField("TypeNameHere");//CreateacheckboxwithtextboldJCheckBoxjchkBold=newJCheckBox("Bold");//CreatearadiobuttonwithtextredJRadioButtonjrbRed=newJRadioButton("Red");//Createacomboboxwithchoicesred,green,andblueJComboBoxjcboColor=newJComboBox(newString
4、[]{"Red","Green","Blue"});GUI组件都是从JComponent派生出来的测试一下JButton的继承路线下面代码取值都是true,从中可以看出JButton是怎么来的:JButtonjbtOK=newJButton("OK");System.out.println(jbtOKinstanceofJButton);System.out.println(jbtOKinstanceofAbstractButton);System.out.println(jbtOKinstanceofJComponent);System.out.println(j
5、btOKinstanceofContainer);System.out.println(jbtOKinstanceofComponent);System.out.println(jbtOKinstanceofObject);容器类这里只研究SWING的容器JFrame:窗口程序的容器JDialog:对话框容器JApplet:小应用程序容器JPanel:中间容器,可用于放置组件和绘图GUI辅助类Graphics:绘图类Color:颜色类Font:字体类FontMetrics:字体属性类Dimension:维数类,包含宽和高两个属性LayoutManager:布局管理类
6、,用来管理组件的放置方式主框架JFrame是一个顶层容器,因此可以用作程序的主框架。但是一般不直接使用JFrame,而是用它的派生类创建主框架。作为顶层容器,JFrame本身可以看作是一个面板,叫根面板。同时根面板又包含好几个子面板,用来实现不同的功能。在面板可以进行的操作包括:贴组件和绘图。根面板根面板由一个玻璃面板(glassPane)、一个内容面板(contentPane)和一个可选择的菜单条(JMenuBar)组成,而内容面板和可选择的菜单条放在同一分层面板(LayeredPane)。玻璃面板是完全透明的,缺省值为不可见,为接收鼠标事件和在所有组件上绘
7、图提供方便。GUI程序的框架示例-1importjavax.swing.*;classMyGUIextendsJFrame{//注意这个MyGUI类,除了继承,啥都没干,可是人家就是有界面}publicclassTest{publicstaticvoidmain(Stringargs[]){MyGUIframe=newMyGUI();frame.setTitle("早上好!");frame.setSize(500,400);frame.setVisible(true);frame.setDefaultCloseOperation(JFrame.EXIT_ON_C
此文档下载收益归作者所有