第十四周课程总结&实验报告(简单记事本的实现)

简单记事本的实现

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)];        //设置查询条件
posted @ 2019-11-29 20:03  lyp82ndlfjh  阅读(232)  评论(0编辑  收藏  举报