第十四周课程总结&实验报告(简单记事本的实现)
简单记事本的实现
1.实验代码
package Demo; import java.awt.event.*; import java.io.*; import javax.swing.*; public class test1 implements ActionListener { ImageIcon newIcon,openIcon,saveIcon,closeIcon; JMenuItem newItem,openItem,saveItem,closeItem; JTextArea text; File file; public test1() { JFrame frame=new JFrame("TSL"); JMenuBar bar=new JMenuBar(); JMenu Menufile=new JMenu("文件"); JMenu Menuedit=new JMenu("编辑"); text=new JTextArea(); text.setEditable(true); frame.getContentPane().add(new JScrollPane(text)); newItem=new JMenuItem("新建",new ImageIcon("D:"+File.separator+"tang"+File.separator+"icons"+File.separator+"new.jpg")); openItem=new JMenuItem("打开",new ImageIcon("D:"+File.separator+"tang"+File.separator+"icons"+File.separator+"open.jpg")); closeItem=new JMenuItem("关闭",new ImageIcon("D:"+File.separator+"tang"+File.separator+"icons"+File.separator+"close.jpg")); saveItem=new JMenuItem("保存",new ImageIcon("D:"+File.separator+"tang"+File.separator+"icons"+File.separator+"save.jpg")); newItem.setMnemonic('N'); openItem.setMnemonic('O'); closeItem.setMnemonic('C'); saveItem.setMnemonic('S'); newItem.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK)); openItem.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK)); closeItem.setAccelerator(KeyStroke.getKeyStroke('C',java.awt.Event.ALT_MASK)); saveItem.setAccelerator(KeyStroke.getKeyStroke('E',java.awt.Event.ALT_MASK)); newItem.addActionListener(this); openItem.addActionListener(this); saveItem.addActionListener(this); closeItem.addActionListener(this); bar.add(Menufile); bar.add(Menuedit); Menufile.add(newItem); Menufile.add(openItem); Menufile.add(saveItem); Menufile.add(closeItem); frame.setJMenuBar(bar); frame.setVisible(true); frame.setSize(600,500); frame.setLocation(300,200); } public void actionPerformed(ActionEvent event) { Object obj=event.getSource(); if(obj instanceof JMenuItem) { JMenuItem item=(JMenuItem)obj; if(item==newItem) { new test1(); }else if(item==openItem) { JFileChooser chooser = new JFileChooser(); chooser.showOpenDialog(null); file=chooser.getSelectedFile(); try { FileInputStream fis = new FileInputStream(file); byte[] b=new byte[fis.available()]; fis.read(b); text.append(new String(b)); fis.close(); }catch(FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }else if(item==saveItem) { JFileChooser chooser = new JFileChooser(); chooser.showSaveDialog(null); file=chooser.getSelectedFile(); if(!file.exists()) { try { file.createNewFile(); }catch (IOException e) { e.printStackTrace(); } } }else if(item==closeItem) { System.exit(0); } } } }
package Demo; import java.awt.event.*; import java.io.*; import javax.swing.*; public class test2 { public static void main(String[] args) { new test1(); } }
2.实验截图
实验总结:这个老师上课讲过,还打过代码给我们看,书上也有相似的例子,参考参考基本上能够写出来
学习总结:
1.JDBC的主要操作类及接口
序号 |
类及接口 |
描 述 |
1 |
java.sql.DriverManager |
用于管理JDBC驱动程序 |
2 |
java.sql.Connection |
用于建立与特定数据库的连接,一个连接就是一个会话,建立后连接后便可以执行SQL语句和获得检索结果 |
3 |
java.sgql.Statement |
一个Statement对象用于执行静态SQL语句,并获得语句执行后产生的结果 |
4 |
java.sql.PreparedStatement |
创建一个可以编译的SQL语句对象,该对象可以被多次运行, 以提高执行的效率,该接口是Statement的子接口 |
5 |
java.sql.ResultSet |
用于创建表示SQL语句检索结果的结果集,用户通过结果集完成对数据库的访问 |
6 |
java.sql.Date |
该类是标准java.uil.Date的一个子集,用于表示与SQL DATE相同的日期类型,该日期不包括时间 |
7 |
java.sgl.Trimestamp |
标准java.util.Date类的扩展,用于表示SQL时间戳,并增加了一个能表示ns (纳秒)的时间域 |
8 |
java.sql.CallableStatement |
用于执行SQL存储过程 |
9 |
java.sql.DatabaseMetaData |
与java.sql.ResultSetMetaData一同用于访问数据库的元信息 |
10 |
java.sql.Driver |
定义一个数据库驱动程序的接口 |
11 |
java.sql.DataTruncation |
在JDBC遇到数据截断的异常时,报告一个警告(读数据时) 或产生一个异常(写数据时) |
12 |
java.sql.DriverPropertyInto |
高级程序设计人员通过DriverPropertyInfo与Driver进行交流, 可使用getDriverPropertyInfo获取或提供驱动程序的信息 |
13 |
java.sql.Time |
该类是标准java.util.Date的一个子集,用于表示时、分、秒 |
14 |
java.sgl.SQLException |
对数据库访问时产生的错误的描述信息 |
15 |
java.sgql.SQL Warning |
对数据库访问时产生的警告的描述信息 |
16 |
java.sql.Types |
定义了表示SQL类型的常量
|
2.Java中的JDBC驱动可以分为四种类型,包括JDBC-ODBC桥、本地API驱动、网络协议驱动和本地协议驱动。
一、JDBC-ODBC桥
JDBC-ODBC 桥 是sun公司提供的,这种类型的驱动实际是把所有 JDBC的调用传递给ODBC ,再由ODBC调用本地数据库驱动代码。
二、本地API驱动
本地API驱动直接把JDBC调用转变为数据库的标准调用再去访问数据库。
三、网络驱动
JDBC先把对数局库的访问请求传递给网 络上的中间件服务器. 中间件服务器再把请求翻译为符合数据库规范的调用,再把这种调用 传给数据库服务器。
四、本地协议驱动
这种驱动直接把JDBC调用转换为符合相关数据库系统规范的请求。
3.数据库的建立
1.加载数据库驱动程序
2.连接数据库
3.使用语句进行数据库操作
4.关闭数据库连接
4.数据库语言
1、增加数据
insert into 表名称[(字段1,字段2,....字段n)]values(值1,值2.....值n);
2、删除数据
delete 表名称[删除条件];
3、更新数据
update 表名称 set 字段1=值1......字段n=值1[where 更新条件];
4查询数据
select{*|column alias} from 表名称 别名 [where condition(s)]; //设置查询条件