1、JDBC数据库编程第第10章章2目标 JDBC的概念 JDBC的连接数据库的过程。在此过程使用到的对象。JDBC实例310.1 JDBC 概念 3-11、JDBC 任务 JDBC 是一个紧凑、简单的软件层 JDBC API 定义应用程序如何:打开连接打开连接 与数据库通信与数据库通信 执行执行 SQL 语句语句 检索查询结果检索查询结果410.1 JDBC 概念 3-22、与ODBC的比较 ODBC不适合Java中直接使用,它是一个c语言的API。不限制传递到底层 DBMS 驱动程序的查询类型 JDBC 机制易于理解和使用 提供与 Java 系统的其他部分保持一致的 Java 接口 JDBC
2、可以调用常见 SQL语句510.1 JDBC 概念 3-33、JDBC 支持两种模型:二层模型Java应用程序直接与数据库交互被称为客户端/服务器配置 三层模型使用中间层(JavaBean)可以在不同语言中实现中间层610.2.1 JDBC 驱动程序3-11、驱动程序类型 JDBC驱动程序的类型 JDBC-ODBC 桥加 ODBC 驱动程序 本地协议纯 Java 驱动程序 JDBC 网络纯 Java 驱动程序 本地 API710.2.1 JDBC 驱动程序3-2JDBC-ODBC桥优点:简单初学容易。缺点:需要设置ODBC,浪费时间,并且受到限制。服务器Java程序JDBC-ODBCODBC本
3、地函数810.2.1 JDBC 驱动程序3-3本地纯Java驱动优点:性能较高。缺点:程序员必须要有JDBC驱动程序,而且不同数据库还不同。服务器Java程序本地JDBC910.2.2 访问数据库11-11、数据库操作过程 下载不同数据库需要的JDBC驱动程序。加载驱动程序。创建连接。创建执行SQL语句的对象。执行查询数据。处理查询结果。关闭数据库。下载不同数据库需要的JDBC驱动程序。加载驱动程序。创建连接。创建执行SQL语句的对象。执行查询数据。处理查询结果。关闭数据库。1010.2.2 访问数据库11-2下载需要的驱动 Oracle:http:/。SQL Server:微软官方网站下载M
4、SSQLSERVER.JAR DB2:下载db2java.zip MySQL:http:/ Informix:http:/1110.2.2 访问数据库11-3加载Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);建立连接 Connection conn=DriverManager.getConnection(URL,login_name,login_password);1210.2.2 访问数据库11-4创建Statement对象 Sta
5、tement 对象将 SQL 语句发送到 DBMS Statement stmt=conn.createStatement();Statement 对象的方法:executeUpdate()用来创建和更新表 stmt.executeUpdate(query);1310.2.2 访问数据库11-5 executeQuery()对于SELECT 语句 stmt.executeQuery(query);返回ResultSet ResultSet rs stmt.executeQuery(query);execute()stmt.execute();返回布尔值,用于执行任何 SQL 语句。1410.2
6、.2 访问数据库11-6 DDL 命令包括create、alter 和 dropstat.executeUpdate(create table Customer(CustIdnumber(3),CustNamevarchar2(15),Address varchar2(30);DML 命令包括select、insert、update和deleteRecordSet recset=stat.executeQuery(select*from customer);1510.2.2 访问数据库11-7 ResultSet 对象包含 SQL 语句的执行结果 next()方法移动游标指向当前结果。使用 g
7、etXXX 方法检索数据 getInt()用于检索整型值 getString()用于检索字符串值1610.2.2 访问数据库11-8关闭数据库 关闭 Statement 对象stmt.close();关闭 Connection 对象conn.close();1710.2.2 访问数据库11-92、处理过程中涉及的对象 JDBC驱动程序包括两种:连接数据库接口:Driver、DriverManager。执行SQL语句和返回结果集的接口:Connection、Statement、PrepareStatement、ResultSet接口。1810.2.2 访问数据库11-10 Driver接口用于读
8、取数据库驱动的基本信息,提供了connect()方法建立访问数据库所用的Connection对象。DriverManager提供了连接数据库的另外一种方式,用来管理Driver对象,提供了注册驱动、获得连接及向数据库输出流发送信息等方法。方法:getConnection()。1910.2.2 访问数据库11-11 Connection:连接数据库和Java应用程序之间的主要对象,使用createStatement()方法创建Statement对象,代表对特定数据库的连接。Statement:对一个特定数据库执行SQL语句。常用方法:executeQuery(SQL)、executeUpdate
9、()、close()。ResultSet:它是对一个一般宽度和未知长度的表的一种抽象。常用方法:next()、close()、2010.3 访问数据库实例3-13、数据库操作实例 使用JTable显示和添加员工资料到数据库中。2110.3 访问数据库实例3-21、通过JDBC-ODBC数据源连接数据库 建立数据源 代码如下:import java.sql.*;public class DBConnect Connection conn=null;/数据库连接对象 public Connection getConn()tryClass.forName(sun.jdbc.odbc.JdbcOdbc
10、Driver);conn=DriverManager.getConnection(jdbc:odbc:tongxin,);catch(Exception e)return conn;数据源名称2210.3 访问数据库实例3-32、通过JDBC直接驱动连接数据库try /连接数据库 Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver);con=DriverManager.getConnection(“jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=shopcart,sa
11、,sql);/创建执行SQL语句的对象 sql=con.createStatement();/执行SQL语句并保存结果 rs=sql.executeQuery(SELECT*FROM product);23总结 JDBC的概念,与ODBC的不同。JDBC的使用 数据库处理的过程以及涉及到的对象。Connection:代表数据库连接的对象。Statement:执行SQL语句的对象。ResultSet:保存执行结果的对象。图形用户界面设计第第11章章25目标 GUI相关概念 布局管理器 事件处理 常用Swing组件 2611.1.1 GUI包和简单GUI程序2-1 1java.awt包 称为抽象窗
12、口工具集AWT(Abstract Window Toolkit),是使用Java进行GUI设计的基础。2javax.swing包 Swing组件存放在javax.swing包中。几乎所有AWT组件对应有新功能更强的Swing组件。另外还加入了一些全新的组件。Swing组件在名称上前面多了一个字母“J”。2711.1.1 GUI包和简单GUI程序2-2 3设置GUI应用程序的流程:(1)引用需要的包和类。(2)设置一个顶层的容器。(3)根据需要为容器设置布局管理器或使用默认布局管理器。(4)将组件添加到容器内,位置自行设计。(5)为响应事件的组件编写事件处理代码。2811.1.2 容器、组件、布
13、局和观感 1.容器和组件 组件是可以用图形化的方式显示在屏幕上并能够与用户进行交互的对象。容器是一种特殊的组件,一种能够容纳其他组件或容器的组件。2.布局管理器 为了使图形用户界面具有良好的平台无关性,提供了专门用来管理组件在容器中的布局的工具。3.观感 决定swing应用程序的外观。2911.2 布局管理器 Java中的布局类型包括以下几种:-FlowLayout(流式布局)流式布局)-BorderLayout(边界布局)(边界布局)-GridLayout(网格布局)(网格布局)-CardLayout(卡片布局)(卡片布局)-GridBagLayout(网格包布局)(网格包布局)3011.2
14、.1 FlowLayout布局管理器FlowLayout的构造函数有:-FlowLayout():生成一个默认的流式布局生成一个默认的流式布局-FlowLayout(int alignment):可以设定每一行可以设定每一行组件的对齐方式组件的对齐方式-FlowLayout(int alignment,int horz,int vert):可以设定组件间的水平和垂直距离可以设定组件间的水平和垂直距离 Applet和面板的缺省布局 组件从左上角开始按从左到右、从上到下的方式排列FlowLayout mylayout=new FlowLayout();FlowLayout exLayout=new
15、 FlowLayout(FlowLayout.RIGHT);setLayout(exlayout);/为容器设置新布局 3111.2.2 BorderLayout布局管理器 下面是BorderLayout所定义的构造函数:-BorderLayout():生成默认的边界布局-BorderLayout(int horz,int vert):可以设定组件间的水平和垂直距离窗口、框架和对话框等的缺省布局组件被置于容器的北、南、东、西或中间位置.setLayout(new BorderLayout();Button btnEast=new Button(东);Button btnWest=new But
16、ton(西);Button btnNorth=new Button(北);Button btnSouth=new Button(南);Button btnCenter=new Button(中);add(btnEast,BorderLayout.EAST);add(btnWest,BorderLayout.WEST);add(btnNorth,BorderLayout.NORTH);add(btnSouth,BorderLayout.SOUTH);add(btnCenter,BorderLayout.CENTER);3211.2.3 GridLayout布局管理器 GridLayout的构造函
17、数如下所示:-GridLayout():生成一个单列的网格布局 -GridLayout(int row,int col):生成一个设定行数和列数的网格布局 -GridLayout(int row,int col,int horz,int vert):可以设置组件之间的水平和垂直间隔用于将容器区域划分为一个矩形网格组件按行和列排列.Button btn;/声明按钮数组 String str=1,2,3,4,5,6,7,8,9;setLayout(new GridLayout(3,3);btn=new Buttonstr.length;/创建按钮数组 for(int i=0;istr.length
18、;i+)btni=new Button(stri);add(btni);3311.2.4 CardLayout布局管理器 可存储几个不同的布局。每个布局就像是一个卡片组中的一张卡片。在一个给定的时间总会有一张卡片在顶层。卡片通常为一个 Panel 对象。每当需要许多面板切换,而每个面板需要显示为不同布局时,可以使用卡片布局。3411.2.5 GridBagLayout布局管理器 通过使用以下语法容器可获得 GridBagLayout:GridBagLayout gb=new GridBagLayout();ContainerName.setLayout(gb);要使用此布局,必须提供各组件的大
19、小和布局等信息。GridBagConstraints 类中包含 GridBagLayout 类用来定位及调整组件大小所需的全部信息。组件大小不必相同 组件按行和列排列 放置顺序不一定为从左至右和由上至下35GridBagConstraints 类 2-1 成员变量列表:-gridx,gridy:指定组件放置于哪个单元中-gridwidth,gridheight:指定组件将占用多少行和多少列-weightx,weighty:指定在一个 GridBagLayout 中应如何分配空间,这些变量的缺省值为 0-ipadx,ipady:指定组件的最小高度和宽度36 成员变量列表:-fill:指定在单元大
20、于组件的情况下,组件如何填充此单元,共有4可选值。缺省值为:GridBagConstraints.NONE-anchor:指定将组件放置在单元中的位置,共有9个可选值。缺省值为:GridBagConstraints.CENTER GridBagConstraints 类2-23711.2.6 swing布局管理器 1.BoxLayout布局管理器 按照从上到下(即按照从上到下(即Y轴)或者从左到右轴)或者从左到右(即(即X轴)的顺序来依次排列组件。轴)的顺序来依次排列组件。2.ScrollPaneLayout布局管理器布局管理器是是JScrollPane中的内置布局管理器,所以中的内置布局管理
21、器,所以不需要单独创建,会自动设置。不需要单独创建,会自动设置。3811.2.7 Null布局管理器在某些情况下,用户不想使用布局管理器,需要自己设置组件的位置和大小,这时应取消容器的布局管理器,然后再进行设置,否则用户自定义设置将会被布局管理器覆盖。取消布局管理器的方法是:setLayout(null);用户使用setLocation()、setSize()、setBounds()等方法为组件设置位置和大小。需要注意的是,这种方法会导致程序与系统相关,如不同的分辨率会产生不同的效果。3911.3.1 事件处理模型 Java 最新的事件处理方法是基于授权事件模型 当事件来源对象因用户的操作(鼠
22、标或键盘),系统会自动触发此事件类对象E,并通知所授权的事件监听者A(若来源对象已向A注册),事件监听者A中有处理各种事件的方法(事件处理者1n)便会处理此事件E的各种状况。4011.3.2 事件层次结构2-1事件类事件类说明说明事件源事件源ActionEvent 通常按下按钮,双击列表项或选通常按下按钮,双击列表项或选中一个菜单项时,就会生成此事中一个菜单项时,就会生成此事件。件。Button、List、MenuItem、TextField AdjustmentEvent 操纵滚动条时会生成此事件。操纵滚动条时会生成此事件。Scrollbar ComponentEvent 当一个组件移动、隐
23、藏、调整大当一个组件移动、隐藏、调整大小或成为可见时会生成此事件。小或成为可见时会生成此事件。Component ItemEvent 单击复选框或列表项时,或者当单击复选框或列表项时,或者当一个选择框或一个可选菜单的项一个选择框或一个可选菜单的项被选择或取消时生成此事件。被选择或取消时生成此事件。Checkbox、CheckboxMenuItem、Choice、List FocusEvent 组件获得或失去键盘焦点时会生组件获得或失去键盘焦点时会生成此事件。成此事件。Component4111.3.2 事件层次结构2-2事件类事件类说明说明事件源事件源KeyEvent 接收到键盘输入时会生成此
24、事件。接收到键盘输入时会生成此事件。Component MouseEvent 拖动、移动、单击、按下或释放拖动、移动、单击、按下或释放鼠标或在鼠标进入或退出一个组鼠标或在鼠标进入或退出一个组件时,会生成此事件。件时,会生成此事件。Component ContainerEvent 将组件添加至容器或从中删除时将组件添加至容器或从中删除时会生成此事件。会生成此事件。Container TextEvent 在文本区或文本域的文本改变时在文本区或文本域的文本改变时会生成此事件会生成此事件 。TextField、TextArea WindowEvent 当一个窗口激活、关闭、当一个窗口激活、关闭、失效、
25、失效、恢复、最小化、打开或退出时会恢复、最小化、打开或退出时会生成此事件。生成此事件。Window 4211.3.3 事件处理方法 实现事件监听器接口法:首先给组件注册监听器,使用下列方法:addxxxListener(事件监听器对象);确定了事件监听器的类型后,必须在程序中定义类来实现这些接口,重写接口中的所有方法。addKeyListener(new CharType();public class CharType implements KeyListenerpublic void keyPressed(KeyEvent e)/大括号中为处理事件的代码public void keyRele
26、ased(KeyEvent e)/未用到此方法,所以方法体为空public void keyTyped(KeyEvent e)4311.3.4 事件适配器 使用实现事件监听器接口的方法处理事件时,必须重写监听器接口中的所有方法,尽管有些方法不会用到。继承事件适配器类,只需要重写所需要的方法即可。addKeyListener(new CharType();为事件源注册事件监听器的方法同上。public class CharType extends KeyAdapter public void keyPressed(KeyEvent e)/大括号中为处理事件的代码 4411.4.1 常用容器组件3
27、-1 是放置其他 Swing 组件的顶级容器 JFrame 组件用于在 Swing 程序中创建窗体 它的构造函数:JFrame()JFrame(String Title)组件必须添加至内容窗格,而不是直接添加至 JFrame 对象,示例:frame.getContentPane().add(b);4511.4.1 常用容器组件3-2 JPanel 组件是一个中间容器 用于将小型的轻量级组件组合在一起 JPanel 的缺省布局为 FlowLayout JPanel 具有下列构造函数:JPanel()JPanel(LayoutManager lm)4611.4.1 常用容器组件3-3 JApple
28、t也是一种窗口容器,继承自Applet类,Applet小程序是另一种Java程序,与Applet不同的是,它默认的布局管理器是JAppletBorderLayout,而Applet默认的布局管理器是FlowLayout。可直接向Applet窗口中添加组件,但JApplet不行,添加组件时必须添加到其内容窗格中。得到内容窗格使用方法:getContentPane();4711.4.2 标签(JLabel)它既可以显示文本也可以显示图像 构造函数如下:JLabel(Icon icon):icon表示使用的图标表示使用的图标 JLabel(String text,Icon icon,int alig
29、n):text表示使用的表示使用的字符串字符串;icon表示使用的图标表示使用的图标;align表示水平对齐方式,表示水平对齐方式,其值可以为:其值可以为:LEFT、RIGHT、CENTER。其它常用方法 getText()setText(String text)4811.4.3 按钮(JButton)可以使用以下任一构造函数来创建按钮:-JButton():新建一个空的按钮新建一个空的按钮-JButton(Icon icon)-JButton(String text)-JButton(String text,Icon icon)JButton btnOk=new JButton(确定!);J
30、Button btnCancel=new JButton(取消!);getContentPane.add(btnOk);getContentPane.add(btnCancel);4911.4.4 文本框-JTextField JTextField 组件允许输入或编辑单行文本 此类的构造函数包括:JTextField()JTextField(Document doc,String text,int columns)JTextField(int columns)JTextField(String text)JTextField(String text,int columns)Container
31、con=getContentPane();con.setLayout(new FlowLayout();JLabel jl=new JLabel(“文本域”);con.add(jl);JTextField tf=new JTextField(20);con.add(tf);5011.4.4 文本框-JPasswordField JPasswordField 组件允许输入或编辑单行文本,并且文本被其他字符代替。此类的构造函数与单行文本框类似。其它方法:char getPassword()char getEchoChar()void setEchoChar(char c)5111.4.4 文本框-
32、JTextArea JTextArea 组件用于接受来自用户的多行文本 它可实现可滚动界面 JTextArea 组件可使用下列构造函数创建:JTextArea()JTextArea(int rows,int cols)JTextArea(String text)JTextArea(String text,int rows,int cols)JTextArea(Document doc)JTextArea(Document doc,String text,int rows,int cols)JLabel jl=new JLabel(“文本区”);con.add(jl);JTextArea ta=
33、new JTextArea(5,10);con.add(ta);5211.4.5 复选框-JCheckBox 复选框用于为用户提供一组选项 JCheckBox 类具有下列构造函数:JCheckBox()JCheckBox(Icon icon)JCheckBox(Icon icon,boolean selected)JCheckBox(String text)JCheckBox(String text,boolean selected)JCheckBox(String text,Icon icon)JCheckBox(String text,Icon icon,boolean selected)
34、5311.4.6 单选按钮-JRadioButton 单选按钮允许用户从多个选项中选择其中一个 ButtonGroup 用于在 Swing 中创建组 JRadioButton 对象可使用下列构造函数创建:-JRadioButton()-JRadioButton(Icon icon)-JRadioButton(Icon,boolean selected)-JRadioButton(String text)-JRadioButton(String text,boolean selected)-JRadioButton(String text,Icon icon)-JRadioButton(Stri
35、ng text,Icon icon,boolean selected)5411.4.7 列表框-JList public JList():使用空模型构造 JList public JList(ListModel dataModel):构造一个列表,用它显示指定模型中的元素。public JList(Object listData):构造一个列表以显示指定数组listData的元素。JList 不支持滚动。要启用滚动,可使用下列代码:JScrollPane myScrollPane=new JScrollPane();myScrollPane.getViewport().setView(data
36、List);String stars=安东尼奥.班德拉斯,来昂纳多.迪卡普尼奥,桑德拉.布洛克,休.格兰特,朱莉亚.罗伯茨;JList moviestars=new JList(stars);5511.4.8 组合框-JComboBox 文本域和下拉列表的组合 在 Swing 中,组合框由 JComboBox 表示 构造函数如下:public JComboBox():此构造函数使用缺省数据模型创此构造函数使用缺省数据模型创建建 JComboBox public JComboBox(ComboBoxModel asModel):使用现使用现有有 ComboBoxModel 中的项目的组合框中的项
37、目的组合框 public JComboBox(Object items):包含指定数组元素包含指定数组元素的组合框的组合框String names=弗雷德里克.福西斯,约翰.克里沙姆,玛丽.希金斯.克拉克,帕特丽夏.康威尔;JComboBox authors=new JComboBox(names);5611.4.9 滑块-JSlider JSlider():创建滑块默认范围为0至100水平方向 JSlider(int orientation):创建范围为0至100,初值为50,水平或垂直滑块。方向取值为JSlider.HORIZONTAL(水平方向)或JSlider.VERTICAL(垂直方
38、向)。JSlider(int min,int max):创建范围从min至max,初值min和max的平均值的水平滑块。JSlider(int min,int max,int value):创建范围从min至max,初值为value的水平滑块。JSlider(int orientation,int min,int max,int value):创建范围从min至max初值为value的水平或垂直滑块。5711.4.10 菜单3-1 菜单显示项目列表,指明各种任务。选择或单击某个选项时会打开另一个列表或子菜单。Swing 菜单由菜单栏、菜单和菜单项构成。菜单栏是所有菜单和菜单项的根5811.4.
39、10 菜单3-2 JMenuBar 是可通过 JFrame、JWindow 的根窗格添加至容器的组件。由多个 JMenu 组成,每个 JMenu 在 JMenubar 中都表示为字符串。JMenu 在 JMenuBar 下以文本字符串形式显示,而在用户单击它时,则以弹出式菜单显示。JMenuItem为JMenu 中的一个组件,以文本字符串形式显示,可以具有图标,外观可以修改,如字体、颜色、背景、边框等。5911.4.10 菜单3-3 弹出式菜单JPopupMenu的定义和使用:方法方法用途用途public JMenuItem add(JMenuItem menuItem)将指定菜单项附加至菜单
40、末尾将指定菜单项附加至菜单末尾public JMenuItem add(String s)使用指定文本新建菜单项,并将其使用指定文本新建菜单项,并将其添加至菜单末尾添加至菜单末尾public void show(Component c,int x,int y)在组件在组件c c的坐标的坐标(x,y)x,y)位置显示弹位置显示弹出式菜单出式菜单public boolean isPopupTrigger()确定鼠标事件是否为平台的弹出触确定鼠标事件是否为平台的弹出触发器发器6011.4.11 对话框 1JOptionPane对话框 是模式对话框,它提供了很多现成的对话框样式,可以供用户直接使用。2
41、JFileChooser对话框 提供了标准的文件的打开、保存对话框。61总结1、掌握GUI常用的容器。2、掌握GUI常用的布局管理器。3、掌握GUI常用的组件。4、掌握GUI的事件处理机制。图形用户界面设计第第12章章63目标 Java Applet的基本概念 Java Applet程序的创建和执行过程 Java Applet与Application的区别 怎样在Java Applet中进行AWT绘制操作 Java Applet程序间的通信以及和浏览器之间的通信 Java Applet的重要应用,即在多媒体方面的支持 6412.1.1 Applet基础 Applet 是一种为通过 Web 浏览
42、器在 Internet 上工作而设计的 Java 程序。Applet 是用Java编写的小应用程序,它能够嵌入在HTML网页中,并由支持Java的Web浏览器来解释执行。6512.1.2 Applet的载入 从 Web 上下载的 java Applet 是在称为沙箱(sandbox)的安全环境中运行的。大多数浏览器上,在沙箱中运行时:Applet 绝不能运行任何一个本地可执行程序绝不能运行任何一个本地可执行程序。Applet 除了可以与从中下载它们的服务器进行通信外,除了可以与从中下载它们的服务器进行通信外,不能与任何主机通信。不能与任何主机通信。Applet 不能读写本地计算机的文件系统。不
43、能读写本地计算机的文件系统。Applet 不能查找除版本号等以外的任何关于本地计算不能查找除版本号等以外的任何关于本地计算机的信息。机的信息。6612.1.3 Applet示例2-1import java.awt.Graphics;import java.applet.Applet;public class JavaApplet extends Applet String print_text;public void init()print_text=“Java Applet;public void paint(Graphics g)g.drawString(print_text,20,20)
44、;覆盖了Applet类的init()方法。该方法主要用于初始化Applet中的变量。覆盖了Applet类的paint()方法。用于在屏幕上给定的位置绘制字符串67Applet源文件首先用 Java 编译器编译:javac Firstapplet.java创建一个用于显示 Applet 的 HTML 文件:12.1.3 Applet示例2-26812.2.1 Applet的类层次及框架结构 要生成Applet小应用程序必须创建Applet类或JApplet类的子类,然后根据用户的需要,重写Applet类或Applet类中部分方法的内容。import java.awt.*;import java.
45、applet.*;public class AppletClassName extends Appletpublic void init()/初始化变量、装载图片、读取参数值等public void start()/启动程序执行或恢复程序执行public void stop()/挂起正在执行的程序,暂停程序的执行public void destroy()/终止程序的执行释放资源public void paint(Graphics g)/完成绘制图形等操作 6912.2.1 Applet的生命周期下载实例化init()初始化start()启动stop()暂停destroy()终止启动转入后台重新
46、激活退出7012.2.2 主要方法 Applet 根据执行过程中发生的事件来定义其生命周期。对于每个事件将自动调用一种方法。方法如下:-init():初始化时调用初始化时调用-start():调用调用init方法之后自动调用这个方法方法之后自动调用这个方法-stop():退出网页时停止执行退出网页时停止执行Applet程序程序-paint(Graphics g):绘制绘制Applet图形图形-destroy():离线时释放本对象及其相关的资源离线时释放本对象及其相关的资源7112.2.3 Applet和HTML2-1标记名称备注标志整个HTML文件的开始和结束设置浏览器窗口的显示标题设置显示文
47、件的相关信息HTML文件的主体部分至设置文字用指定的标题样式显示设置文本的颜色、字体、大小等属性、设置文字斜体、粗体、下划线、删除线显示链接到指定的HTML文件显示指定的图片文件开始一个新的段落显示指定长度的水平线、设置对齐方式7212.2.3 Applet和HTML2-2 首先确定Applet的存在(*.class文件)。调用Applet,格式:定义调用的Applet程序名,注意全名和大小写。Applet与HTML不在一个目录,定义调用的Applet的路径。Applet程序显示区的宽度和高度。Applet与其他元素的水平和竖直边距。Applet的对齐方式。Applet的名字。浏览器不支持Ap
48、plet时,显示的代替文字。7312.2.4 Applet的执行1.要在支持 Java 的浏览器中查看 Applet,则需要加载 HTML 文件。Applet 会显示为 HTML 网页的一部分。要运行 Applet,浏览器必须启用 Java 插件2.在命令提示符处键入下列代码:appletviewer JavaApplet.html7412.2.5 Applet 和ApplicationApplet应用程序应用程序Applet基本上是为部署在基本上是为部署在Web上而设上而设计的计的应用程序是为作为独立程序工作而应用程序是为作为独立程序工作而设计的设计的Applet是通过扩展是通过扩展 jav
49、a.applet.Applet 类创建的类创建的应用程序则不受这种限制应用程序则不受这种限制Applet 通过通过appletviewer或在支持或在支持Java的浏览器上运行的浏览器上运行应用程序使用应用程序使用Java解释器运行解释器运行Applet 的执行从的执行从 init()方法开始方法开始应用程序的执行从应用程序的执行从 main()方法开始方法开始Applet必须至少包含一个必须至少包含一个 public 类,类,否则编译器就会报告一个错误。在否则编译器就会报告一个错误。在该类中不一定要声明该类中不一定要声明 main()方法。方法。对于应用程序,对于应用程序,public 类中
50、必须包类中必须包括括main(),否则无法运行。否则无法运行。7512.3.1 AWT绘制基础 1void paint(Graphics g)方法是进行图形绘制的具体方法。2void update(Graphics g)方法用于更新图形。首先清除背景,然后设置前景,再调用paint()方法完成组件的绘3void repaint()方法 用于重绘图形。7612.3.2 在Applet中输出文字 1.文字输出 drawBytes(byte bt,int offset,int length,int x,int y)drawChars(char ch,int offset,int length,int