暮色苍然

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

实验报告

 

实验代码:

  1 package notebook;
  2 import java.awt.*;
  3 import java.awt.event.*;
  4 import java.io.File;
  5 import java.io.FileInputStream;
  6 import java.io.FileNotFoundException;
  7 import java.io.FileOutputStream;
  8 import java.io.IOException;
  9 import java.io.InputStream;
 10 
 11 import javax.swing.*;
 12 
 13 
 14 public class ActionNoteBook implements ActionListener{
 15         JFrame frame;
 16         JTextArea area;
 17         JMenuBar bar;
 18         JMenu ditMenu;
 19         JMenu newMenu;
 20         JMenuItem newItem,openItem,saveItem,closeItem;
 21         ImageIcon icon;
 22         JScrollPane scroll;
 23         File file;
 24         
 25         public ActionNoteBook() {
 26         
 27         icon=new ImageIcon("G:\\3016183850_lanrentuku.com\\file.jpg");
 28         frame=new JFrame("记事本");
 29         area=new JTextArea();
 30         bar=new JMenuBar();
 31         ditMenu=new JMenu("编辑");
 32         newMenu=new JMenu("文件");
 33         newItem=new JMenuItem("新建(N)",icon);
 34         openItem=new JMenuItem("打开(O)");
 35         saveItem=new JMenuItem("保存(S)");
 36         closeItem=new JMenuItem("关闭(X)");
 37         scroll=new JScrollPane(area);
 38         
 39         
 40         newItem.setMnemonic(KeyEvent.VK_N);
 41         openItem.setMnemonic(KeyEvent.VK_O);
 42         saveItem.setMnemonic(KeyEvent.VK_S);
 43         closeItem.setMnemonic(KeyEvent.VK_X);
 44         
 45         newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_DOWN_MASK));
 46         openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_DOWN_MASK));
 47         saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_DOWN_MASK));
 48         closeItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_DOWN_MASK));
 49         
 50         bar.add(newMenu);
 51         bar.add(ditMenu);
 52         newMenu.add(newItem);
 53         newMenu.add(openItem);
 54         newMenu.add(saveItem);
 55         newMenu.addSeparator();
 56         newMenu.add(closeItem);
 57         
 58         newItem.addActionListener(this);
 59         openItem.addActionListener(this);
 60         saveItem.addActionListener(this);
 61         closeItem.addActionListener(this);
 62         
 63         frame.add(scroll);
 64         frame.setJMenuBar(bar);
 65         frame.setSize(500,400);
 66         frame.setVisible(true);
 67         
 68         
 69     
 70 }
 71 
 72     
 73     public void actionPerformed(ActionEvent event) {
 74         Object obj=event.getSource();
 75         if(obj instanceof JMenuItem) {
 76             JMenuItem item=(JMenuItem) obj;
 77             if(item == this.newItem) {
 78                 new ActionNoteBook();  //新建一个窗口
 79             }else if(item==openItem){
 80                 JFileChooser chooser =new JFileChooser();
 81                 chooser.showOpenDialog(null);
 82                 file=chooser.getSelectedFile();
 83                     try {
 84                         FileInputStream fis=new FileInputStream(file);
 85                         byte[] b=new byte[fis.available()];
 86                         fis.read(b);    //读入字节数组b的内容
 87                         area.append(new String(b));  //将b的内容添加进area
 88                         fis.close();   //关闭输入流
 89                     } catch (IOException e) {
 90                         e.printStackTrace();
 91                     }
 92                     
 93                 }else if(item==saveItem) { 
 94                     JFileChooser chooser=new JFileChooser();
 95                     chooser.showSaveDialog(null);
 96                     file=chooser.getSelectedFile();
 97                     if(!file.exists()) { //
 98                         try {
 99                             file.createNewFile();
100                         } catch (IOException e) {
101                             System.out.printf("io异常");
102                             e.printStackTrace();
103                         }
104                     }
105                         try {
106                         FileOutputStream fos=new FileOutputStream(file);
107                         byte[] b=area.getText().getBytes();
108                         fos.write(b);
109                         fos.close();
110                     } catch (FileNotFoundException e) {
111                         e.printStackTrace();
112                     } catch (IOException e) {
113                         e.printStackTrace();
114                     }
115                     
116                     
117                 }else if(item==closeItem) {
118                     System.exit(1);
119                 }
120             }
121         }
122         
123 }    

 

实验结果:

 

 

1-1,新建功能

 

 

 

 

 

2,打开功能

 

 

 

 

 

 

3,保存功能

 

学习总结

 

本周主要学习了用JDBC来使用MySQL。

 

一,JDBC概述

       JDBC(Java Database Connectivity,Java数据库连接),提供了一种与平台无关的用于执行SQL语句的标准Java API,可以方便地实现多种关系型数据库的统一操作,它由一组用Java语言编写的类与接口组成。

 

二,JDBC驱动的分类

       JDBC本身提供的是一套数据库操作标准,目前比较常见的JDBC驱动可分为以下四类:

       (1)JDBC-ODBC桥驱动:一种由Sun提供的标准JDBC操作,直接使用微软的ODBC进行数据库的连接操作,但这种操作性能低,不推荐直接使用。

       (2)JDBC本地操作:直接使用各个数据库生产商提供的JDBC驱动程序,但是只能应用在特定的数据库上,丧失了可移植性,但性能高。

       (3)JDBC网络驱动:这是一种将JDBC转换为DBMS无关的网络协议,然后又被某个服务器转换为一种DBMS协议。这是最为灵活的JDBC驱动程序。

       (4)本地纯协议JDBC驱动:将JDBC调用直接转换为DBMS所使用的网络协议。允许从客户机机器直接调用DBMS服务器,是Intranet访问的一个很实用的解决方法。

 

三,JDBC的主要操作类及接口

JDBC的核心是为用户提供Java API类库,让用户能够创建数据库连接、执行SQL语句、检索结果类、访问数据库数据等。在JDBC的基本操作中最基本的类和接口就是DriveManager、Connection、Statement、Result、PrepareStatement。

 

 

四,关于数据库的连接

       一般有两个步骤,分别是:(1)加载驱动程序、(2)连接数据库

       (1)加载驱动程序:首先,我们需要先下载并安装好需要使用的数据库,如:MySQL数据库。然后用反射机制直接调用类名来使用类的功能。

       (2)连接数据库:使用DriveManager类来实现连接数据库。

posted on 2019-11-29 14:25  暮色苍然  阅读(159)  评论(0编辑  收藏  举报