Java语言编程技术课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Java语言编程技术课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 语言 编程 技术 课件
- 资源描述:
-
1、Java 语言编程技术1GUI设计 GUI的组成元素 applet GUI布局(layout)事件处理 Swing components的使用 BeansJava 语言编程技术2GUI 演变过程 Java 1.0 Abstract Window Toolkit(AWT)Java 1.1 AWT event model Java 2 Swing 属于Java Foundation Classes(JFC)java.awt.swing com.sun.java.swing javax.swingJava 语言编程技术3AWT类层次关系图Component Container Panel Apple
2、t Window Frame Dialog ButtonTextFieldTextAreaTextComponentCheckboxMenuComponentMenuMenuItemMenuBar其他组件独立不独立Java 语言编程技术4 Swing类Java 语言编程技术5GUI的组成和实现 GUI 的组成:组件 Component 容器 Container 设计&实现图形用户界面的工作 创建GUI各组成成分,并安排从属位置关系 定义GUI各成分对不同事件的响应,实现与用户的交互功能Java 语言编程技术6Swing与AWT区别 类名区别 ButtonJButton Label JLabel
3、 Frame JFrame Checkbox JCheckBox,JRadioButton Choice JComboBox 新添JColorChooser、JSplitPane、JTable、JTree等Java 语言编程技术7Swing与AWT区别(续)Swing 没有native代码 light weight Swing组件提供更多功能 可增加或修改边框 BorderFactory.createLineBorder(Color.red)createLoweredBevelBorder()JComponent中:setBorder(border)方法 Swing 中的JLabel、JBut
4、ton等可显示text、icon,支持HTML多种字体、多行显示 swing组件形状任意Java 语言编程技术8Swing与AWT区别(续)swing组件可以设置外观(look&feel)swing组件使用MVC模式 model:保存内容(数据)view:显示内容 controller:控制用户输入例如:JButton ButtonModellight weight与heavy weight尽量不要混用Java 语言编程技术9Top-Level Containers Swing 提供四个Top-Level Containers:Jframe Jdialog Japplet Jwindow(不常
5、用)Java 语言编程技术10Top-Level Containers(续)import java.awt.*;import javax.swing.*;public class TopLevelDemo1 public static void main(String s)JFrame frame=new JFrame(TopLevelDemo);JLabel label=new JLabel(Hello);frame.getContentPane().add(label,BorderLayout.CENTER);frame.pack();frame.setVisible(true);Java
6、 语言编程技术11Top-Level Containers(续)import java.awt.*;import javax.swing.*;public class TopLevelDemo2 extends JFrame public TopLevelDemo2()super(TopLevelDemo);JLabel label=new JLabel(Hello);getContentPane().add(label,BorderLayout.CENTER);pack();setVisible(true);public static void main(String s)TopLevelD
7、emo2 frame=new TopLevelDemo2();Java 语言编程技术12Top-Level Containers(续)每个top-level container都有一个contentpane 可以向top-level container添加menu barJPanel contentPane;contentPane.add(someComponent);topLevelContainer.setContentPane(contentPane);topLevelContainer.getContentPane().add(label,BorderLayout.CENTER);fr
8、ame.setJMenuBar(cyanMenuBar);Java 语言编程技术13Top-Level Containers(续)例:TopLevelDemo.javaJava 语言编程技术14applet的下载过程WWW服务器存放HTMLWWW服务器存放.classWWW浏览器(Browser)请求HTML文件下载HTML文件解释并显示HTML文件HTML文件请求Applet字节码文件下载字节码解释执行字节码Java 语言编程技术15applet的执行框架package javax.swing;public class JApplet extends Applet package java.
9、applet;public class Applet extends Panel public void init()public void start()public void stop()public void destroy()Java 语言编程技术16applet的执行框架init()初始化第一次被载入start()启动启动执行appletstop()终止转向其他窗口时applet暂停执行回到applet窗口,重新激活appletdestroy()消亡 构造方法的执行时间早于init()Java 语言编程技术17applet例例:Applet1.javaimport javax.swi
10、ng.*;import java.awt.*;public class Applet1 extends JApplet public void init()getContentPane().add(new JLabel(Applet!);/:Java 语言编程技术18applet运行 Web browser AppletviewerHTML ConverterJava 语言编程技术19applet运行(续)Java 语言编程技术20Applet与Application结合 实现方法 在applet中加入main()方法 在main()中创建一个frame对象和一个applet对象 使用add(
11、)把applet对象放入frame对象中,并显式调用applet对象的init()和start()例:Applet1c.java 工具 com.bruceeckel.swing.Console.javaJava 语言编程技术21布局(layout)每个top-level container都有一个contentpane:public Container getContentPane()Container:public void setLayout(LayoutManager mgr)add(Component comp)将指定组件放到容器中 add(Component comp,int ind
12、ex)remove(Component comp)删除指定组件 JPanel:public class JPanel extends JComponentpublic abstract class JComponent extends ContainerJava 语言编程技术22布局(layout)LayoutManager接口 BorderLayout FlowLayout GridLayout GridBagLayout CardLayout BoxLayout Java 语言编程技术23BorderLayout布局管理器 setLayout(new BorderLayout()add(a
13、component,BorderLayout.NORTH);例:BorderLayout1.java 当容器大小改变,组件相对位置不会改变。CenterNorthSouthWestEastBorderLayout.NORTH BorderLayout.SOUTH BorderLayout.EAST BorderLayout.WEST BorderLayout.CENTER Java 语言编程技术24FlowLayout布局管理器 构造函数:FlowLayout();FlowLayout(int align,int hgap,int vgap);align:对齐方式:LEFT CENTER RI
14、GHThgap:组件水平间距(象素)vgap:组件垂直间距 无参数的构造函数创建的FlowLayout对象,其对齐方式为CENTER居中方式,组件间的横纵间距都为5个像素。例:FlowLayout1.javaJava 语言编程技术25GridLayout布局管理器 构造方法GridLayout()GridLayout(int rows,int cols)GridLayout(int rows,int cols,int hgap,int vgap)例:GridLayout1.javaJava 语言编程技术26BoxLayout布局管理器 构造方法 BoxLayout(Container targ
15、et,int axis)int X_AXISint Y_AXIS 例 :BoxLayout1.javaJava 语言编程技术27Box容器 public static Box createHorizontalBox()public static Box createVerticalBox()public static Component createHorizontalStrut(int width)public static Component createVerticalStrut(int height)public static Component createHorizontalGlu
16、e()public static Component createVerticalGlue()public static Component createRigidArea(Dimension d)Java 语言编程技术28直接管理组件 调用Container的 setLayout(null)方法,关闭布局管理器 调用每一个Component的setLocation()方法决定组件位置 调用每一个Component的setSize()方法决定其大小。直接管理组件将失去平台无关性。Java 语言编程技术29事件及处理机制 用户操作GUI组件时会引发各种事件Event。Event:描述“发生了什么
展开阅读全文