第十四周课程总结&实验报告

第十四周课程总结&实验报告

简单记事本:

实验代码:

 

package 简易记事本;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;

import javax.swing.*;

public class TextPad implements ActionListener {
    JFrame frame;
    JMenuBar bar;
    JMenu fileMenu, editMenu;
    ImageIcon newIcon, openIcon, saveIcon, closeIcon;
    JMenuItem newItem, openItem, saveItem, closeItem;
    JTextArea area;
    JScrollPane scroll;
    File file;

    public TextPad() {
        frame = new JFrame("记事本");
        bar = new JMenuBar();
        fileMenu = new JMenu("文件");
        area = new JTextArea();
        scroll = new JScrollPane(area);
newIcon = new ImageIcon("d:" + File.separator + "Java" + File.separator+ "图片" + File.separator + "5.jpg"); openIcon = new ImageIcon("d:" + File.separator + "Java"+ File.separator + "图片" + File.separator + "2.jpg"); saveIcon = new ImageIcon("d:" + File.separator + "Java"+ File.separator + "图片" + File.separator + "3.jpg"); closeIcon = new ImageIcon("d:" + File.separator + "Java"+ File.separator + "图片" + File.separator + "4.jpg"); newItem = new JMenuItem("新建(N)", newIcon); openItem = new JMenuItem("打开(O)", openIcon); saveItem = new JMenuItem("保存(S)", saveIcon); closeItem = new JMenuItem("关闭(C)", closeIcon); newItem.setMnemonic(KeyEvent.VK_N); openItem.setMnemonic(KeyEvent.VK_O); saveItem.setMnemonic(KeyEvent.VK_S); closeItem.setMnemonic(KeyEvent.VK_C); newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_MASK)); openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.CTRL_MASK)); saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK)); closeItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK)); newItem.addActionListener(this); openItem.addActionListener(this); saveItem.addActionListener(this); closeItem.addActionListener(this); bar.add(fileMenu); fileMenu.add(newItem); fileMenu.add(openItem); fileMenu.add(saveItem); fileMenu.add(closeItem); frame.add(scroll); frame.setJMenuBar(bar); frame.setSize(400, 300); frame.setLocation(300, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } public void actionPerformed(ActionEvent event) { Object obj = event.getSource(); if (obj instanceof JMenuItem) { JMenuItem item = (JMenuItem) obj; if (item == newItem) { new TextPad(); } 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); area.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 { PrintStream out = new PrintStream(new FileOutputStream(file)); out.print(area.getText()); out.close(); } catch (FileNotFoundException e1) { e1.printStackTrace(); } } } else if (item == closeItem) { System.exit(0); } } } }

 

实验结果:

新建:

 

 

 

 

 

 

 保存:

 

 

 

 

打开:

 

 

 

 

 

 

 

 

 总结:虽然这是老师上课讲过,举过例子的原题,但自己来还是打得不完整,然后导致对话框运行出不来,还有一些其他的bug,比如运行程序时还会运行其他的程序,然后室友帮我加了frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);这行代码,问题解决了,但是在保存文件的处理那里还有bug,在网上找了找相关的解决方法。然后记事本也还只做了打开,保存,新建和关闭四个功能。

学习总结:

JDBC:JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。

简单地说,JDBC 可做三件事:与数据库建立连接、发送 操作数据库的语句并处理结果。

JDBC提供了三个类,用于向数据库发送SQL语句。Connection接口中的三个方法可用于创建这些类的实例。下面列出这些类及其创建方法:
(1)Statement:由方法createStatement所创建。Statement对象用于发送简单的SQL语句。
(
2)PreparedStatement:由方法prepareStatement所创建。PreparedStatement对象用于发送带有一个或多个输入参数(IN参数)的SQL语句。
PreparedStatement拥有一组方法,用于设置IN参数的值。执行语句时,这些IN参数将被送到数据库中。PreparedStatement的实例扩展了Statement,
因此它们都包括了Statement的方法。PreparedStatement对象有可能比Statement对象的效率更高,因为它已被预编译过并存放在那以供将来使用。
(
3)CallableStatement:由方法prepareCall所创建。CallableStatement对象用于执行SQL储存程序─一组可通过名称来调用(就象函数的调用那样)的SQL语句。
CallableStatement对象从PreparedStatement中继承了用于处理IN参数的方法,而且还增加了用于处理OUT参数和INOUT参数的方法。

目前比较常见的JDBC驱动程序可分为以下四个种类:

(1)JDBC-ODBC桥加ODBC驱动程序

JavaSoft桥产品利用ODBC驱动程序提供JDBC访问。

(2)本地API

这种类型的驱动程序把客户机API上的JDBC调用转换为Oracle、Sybase、Informix、DB2或其它DBMS的调用。

(3)JDBC网络纯Java驱动程序

这种驱动程序将JDBC转换为与DBMS无关的网络协议,之后这种协议又被某个服务器转换为一种DBMS协议。

(4)本地协议纯Java驱动程序

这种类型的驱动程序将JDBC调用直接转换为DBMS所使用的网络协议

JDBC的主要操作类及接口:

 

 

 

 

 

MySQL数据库

一个小型关系型数据库管理系统,开发者为MySQL AB公司。课本上有他的安装及配置。

常用命令:连接MySQL数据库:

mysql-u用户名 -p密码
 
创建和删除数据库:

创建:CREATE DATABASE  数据库名称
删除:DROP DATABASE    数据库名称
 使用数据库
USE 数据库名称
创建数据库表
CREATE TABLE表名称{
    字段名称1    字段类型【DEFAULT 默认值】【约束】
    字段名称2    字段类型【DEFAULT 默认值】【约束】
 。。。。
    字段名称3    字段类型【DEFAULT 默认值】【约束】
}
 删除数据库表

DROP TABLE 表名称
查看表结构

DESC  表名称

查看数据库信息

查看全部数据库: SHOW DATABASES;

查看一个数据库的全部表:SHOW TABLES;

另外要下载的MYSQL还没下好。。。

 

posted @ 2019-11-29 17:50  阳光盐巴  阅读(198)  评论(0编辑  收藏  举报