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

简单记事本

实验代码

package Demo;

import java.awt.event.*;
import java.io.*;
import javax.swing.*;

class Charon implements ActionListener{
    JFrame frame;
    JMenuBar bar;
    JMenu fileMenu;
    JMenuItem  newItem,openItem,saveItem,closeItem;
    ImageIcon newIcon,openIcon,saveIcon,closeIcon;
    JScrollPane scroll;
    JTextArea area;
    JFileChooser chooser;
    File file;
    
public Charon() {
    frame = new JFrame("HJ");
    bar = new JMenuBar();
    fileMenu =new JMenu("文件");
    
    newItem = new JMenuItem("新建(N)",newIcon);
    openItem = new JMenuItem("打开(O)",openIcon);
    saveItem = new JMenuItem("另存为(A)",saveIcon);
    closeItem = new JMenuItem("关闭(X)",closeIcon);
    
    area = new JTextArea();
    scroll = new JScrollPane(area);
    
    newItem.setMnemonic(KeyEvent.VK_N);
    openItem.setMnemonic(KeyEvent.VK_O);
    saveItem.setMnemonic(KeyEvent.VK_A);
    closeItem.setMnemonic(KeyEvent.VK_X);
    
    newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_DOWN_MASK));
    openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_DOWN_MASK));
    saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_DOWN_MASK));
    closeItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_DOWN_MASK));
    
    fileMenu.add(newItem);
    fileMenu.add(openItem);
    fileMenu.add(saveItem);
    fileMenu.addSeparator();
    fileMenu.add(closeItem);
    
    newItem.addActionListener(this);
    openItem.addActionListener(this);
    saveItem.addActionListener(this);
    closeItem.addActionListener(this);
    
    bar.add(fileMenu);
    
    frame.setJMenuBar(bar);
    frame.add(scroll);
    frame.setSize(400,300);
    frame.setVisible(true);
    
}

@Override
public void actionPerformed(ActionEvent event) {
    
    Object obj = event.getSource();
    JMenuItem item = null;
    if(obj instanceof JMenuItem) {
        JMenuItem item1=(JMenuItem) obj;
        if(item1==newItem) {
            new Charon();
        }else if (item1==openItem) {
            chooser =new JFileChooser();
            chooser.showOpenDialog(null);
            file = chooser.getSelectedFile();
            try {
                FileInputStream f=new FileInputStream(file);
                byte[] b = new byte [f.available()];
                f.read(b);
                area.append(new String(b));
                f.close();
            } catch (FileNotFoundException e) {
                
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            
        }else if(item1 ==saveItem) {
            
            chooser.showSaveDialog(null);
            file = chooser.getSelectedFile();
            
        }
        try {
            if(!file.exists()) {
                file.createNewFile();
            }
            FileOutputStream f1 = new FileOutputStream(file);
            byte[] b=area.getText().getBytes();
            f1.write(b);
            f1.close();
        }catch (FileNotFoundException e) {
            
            e.printStackTrace();
        }catch (IOException e) {
            
            e.printStackTrace();
         }
        }else if(item == closeItem) {
            
            System.exit(1);
        }
    }
}

public class Pluto4 {
    public static void main(String args[]) {
        new Charon();
    }
}

运行结果截图



实验总结:

这次的记事本我感觉还是挺难的,主要是在实现那几个功能的方面,其他的都用过。在这个记事本中,我没有用到图片,好像不太符合要求。在刚开始实现那几个功能键的时候,我都不会写,后来上网查了资料,看了书上的知识点,以及看了同学的代码,有一点懂了。但是还是得多练习。

学习总结

MySQL数据库

DriverManager类的常用方法

Connection接口的常用方法


(1)连接MySQL数据库: mysql -u 用户名 -p 密码

(2)创建数据库:CREATE DATABASE 数据库名称;

(3)删除数据库:DROP DATABASE 数据库名称;

(4)使用数据库:USE 数据库名称;

(5)创建数据库表:

CREATE TABLE 表名称(
字段名称1 字段类型[DEFAULT 默认值][约束],
字段名称2 字段类型[DEFAULT 默认值][约束],
...,
字段名称n 字段类型[DEFAULT 默认值][约束],
);

(6)删除数据库表:DROP TABLE 表名称;

(7)查看表结构:DESC 表名称 ;

(8)查看数据库信息

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

SQL语法

(1)SQL分类

DML(Data Manipulation Language,数据操作语言)——用于检索或者修改数据。
DDL(Data Definition Language,数据定义语言)——用于定义数据的结构,如创建、修改或者删除数据库对象。
DCL(Data Control Language,数据控制语言)——用于定义数据库用户的权限。

(2)创建操作表

DROP TABLE user ; -- 删除数据库表
CREATE TABLE user
(
id INT AUTO_INCREMENT PRIMARY KEY ,
name VARCHAR(30) NOT NULL ,
password VARCHAR(32) NOT NULL ,
age INT NOT NULL ,
sex VARCHAR(2) DEFAULT '男' ,
birthday DATE
) ;

(3)MySQL中的数据类型

MySQL中的数据类型(1)

MySQL中的数据类型(2)

(4)增加数据

向表中增加数据,可以使用以下的语法:
INSERT INTO 表名称[(字段1,字段2,字段3,...,字段n)] VALUES (值1,值2,值3,...值n) ;

(5)删除数据

删除表中的数据,可以使用以下的语法:
DELETE FROM 表名称 [删除条件] ;

(6)更新数据

当需要修改数据表中的某些记录时,就可以使用UPDATE语句,语句格式如下:
UPDATE 表名称 SET 字段1=值1,....字段n=值1 [WHERE 更新条件] ;

(7)查询数据

简单查询语句格式

SELECT {*|column alias}
FROM 表名称 别名
[WHERE condition(s)] ;  设置查询条件

指定查询列

查询user表中的姓名和生日
SELECT name,birthday FROM user ;

模糊查询

查询姓名或密码中包含字母“m”的用户
SELECT * FROM user WHERE name LIKE '%m%' OR password LIKE '%m%' ;

LIMIT语句

以上的查询是将全部的数据都取了出来,如果现在要是想取出数据库表中的一部分数据的话,则在查询的最后加上一个LIMIT语句即可,此语句格式如下:
SELECT 字段 FROM 表 WHERE 条件 LIMIT 开始行,取出的数据个数;

posted on 2019-11-29 15:15  黄杰hj  阅读(298)  评论(2编辑  收藏  举报