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

简单记事本的实现

实验源码

主类

package test1;

import javax.swing.JFrame;
import javax.swing.JTextArea;

public class WordPAD {

    public static void main(String[] args) {
        new Note();
    }
}

Note类

package test1;

import javax.swing.*;
import javax.swing.undo.UndoManager;

import java.awt.*;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
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.InputStream;
import java.io.OutputStream;
import java.io.PrintStream;
import java.util.Scanner;
public class Note {
    JFrame frame;
    JTextArea area;
    JMenu jmenu,jmeun1;
    JMenuBar bar;
    JScrollPane scr;
    JMenuItem newItem,openItem,saveItem,closeItem;
    JMenuItem  cx,jq,fz,zt,sc;
    JPanel butpan=new JPanel();
    int result=0;
    UndoManager um;
    byte b[];
    InputStream input;
    OutputStream out;
    
    public Note() {
        frame=new JFrame("L L");
        area=new JTextArea(30,40);
        jmenu=new JMenu("文件");
        jmeun1=new JMenu("编辑");
        jmenu.setIcon(new ImageIcon("C:\\Users\\26404\\Desktop\\1.PNG"));
        jmenu.addSeparator();
        bar=new JMenuBar();
        scr=new                             JScrollPane(area,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
                newItem=new JMenuItem("新建(N)",new ImageIcon("C:\\Users\\26404\\Desktop\\2.PNG"));
        openItem=new JMenuItem("打开(O)",new ImageIcon("C:\\Users\\26404\\Desktop\\3.PNG"));
        saveItem=new JMenuItem("另存为(A)",new ImageIcon("C:\\Users\\26404\\Desktop\\5.PNG"));
        closeItem=new JMenuItem("关闭(X)",new ImageIcon("C:\\Users\\26404\\Desktop\\4.PNG"));
        cx=new JMenuItem("撤销(U)");
        jq=new JMenuItem("剪切(T)");
        fz=new JMenuItem("复制(C)");
        zt=new JMenuItem("粘贴(P)");
        sc=new JMenuItem("删除(L)");
        newItem.setMnemonic(KeyEvent.VK_N);
        openItem.setMnemonic(KeyEvent.VK_O);
        saveItem.setMnemonic(KeyEvent.VK_A);
        closeItem.setMnemonic(KeyEvent.VK_X);
        newItem.setAccelerator(KeyStroke.getKeyStroke('N', java.awt.Event.CTRL_MASK));
        openItem.setAccelerator(KeyStroke.getKeyStroke('O', java.awt.Event.CTRL_MASK));
        saveItem.setAccelerator(KeyStroke.getKeyStroke('A', java.awt.Event.CTRL_MASK));
        closeItem.setAccelerator(KeyStroke.getKeyStroke('X', java.awt.Event.CTRL_MASK));
        cx.setMnemonic(KeyEvent.VK_U);
        jq.setMnemonic(KeyEvent.VK_T);
        fz.setMnemonic(KeyEvent.VK_C);
        zt.setMnemonic(KeyEvent.VK_P);
        sc.setMnemonic(KeyEvent.VK_L);
        cx.setAccelerator(KeyStroke.getKeyStroke('Z', java.awt.Event.CTRL_MASK));
        jq.setAccelerator(KeyStroke.getKeyStroke('X', java.awt.Event.CTRL_MASK));
        fz.setAccelerator(KeyStroke.getKeyStroke('C', java.awt.Event.CTRL_MASK));
        zt.setAccelerator(KeyStroke.getKeyStroke('V', java.awt.Event.CTRL_MASK));
        sc.setAccelerator(KeyStroke.getKeyStroke("Del"));

        jmenu.add(newItem);
        jmenu.add(openItem);
        jmenu.add(saveItem);
        jmenu.add(closeItem);
        jmeun1.add(cx);
        jmeun1.add(jq);
        jmeun1.add(fz);
        jmeun1.add(zt);
        jmeun1.add(sc);
        
        bar.add(jmenu);
        bar.add(jmeun1);
        frame.add(scr);
        frame.setJMenuBar(bar);
        
        newItem.addActionListener(new ActionListener() {//新建
            public void actionPerformed(ActionEvent e) {
                if(e.getSource()==newItem)
                    new Note();
            }               
        });
        
        JFileChooser chooser=new JFileChooser();            
        openItem.addActionListener(new ActionListener() {//打开
            public void actionPerformed(ActionEvent e) {
                File file=null;                 
                if(e.getSource()==openItem) {
                    area.setText("");                                               
                    chooser.showOpenDialog(frame);
                    file=chooser.getSelectedFile();
                    if(file!=null) {
                        try {
                            Scanner scan=new Scanner(new FileInputStream(file));
                            scan.useDelimiter("\n");
                            while(scan.hasNext()) {
                                area.append(scan.next ());
                                area.append("\n");
                            }
                            scan.close();
                        } catch (FileNotFoundException e1) {
                            e1.printStackTrace();
                        }   
                    }
                }               
            }               
        });
        
        saveItem.addActionListener(new ActionListener() {//另存为
            public void actionPerformed(ActionEvent e) {
                File file;
                chooser.showSaveDialog(frame);
                file=chooser.getSelectedFile();
                if(!file.exists()) {
                    JOptionPane.showMessageDialog(null, "创建文件"+file.getName());
                    try {
                        file.createNewFile();
                    } catch (IOException e1) {
                        e1.printStackTrace();
                    }
                }
                try {
                    PrintStream out=new PrintStream(new FileOutputStream(file));
                    out.print(area.getText());
                    out.close();
                } catch (FileNotFoundException e1) {
                    e1.printStackTrace();
                }
            }
        });
        
        closeItem.addActionListener(new ActionListener() {//关闭
            public void actionPerformed(ActionEvent e) {
                if(e.getSource()==closeItem)
                    System.exit(1);
            }               
        });
        
        cx.addActionListener(new ActionListener() {//撤销
            public void actionPerformed(ActionEvent e) {
                um=new UndoManager();
                if(e.getSource()==cx)
                    if (um.canUndo()) 
                    {
                        um.undo();
                    }
            }   
        });
        
        zt.addActionListener(new ActionListener() {//粘贴
            public void actionPerformed(ActionEvent e) {
                if(e.getSource()==zt) {
                     area.paste();
            }                   
         }
     });
        
        fz.addActionListener(new ActionListener() {//复制
            public void actionPerformed(ActionEvent e) {
                if(e.getSource()==fz)
                area.copy();
            }                    
        });
        
        jq.addActionListener(new ActionListener() {//剪切
            public void actionPerformed(ActionEvent e) {
                if(e.getSource()==jq)
                    area.cut();
            }
        });
        
        sc.addActionListener(new ActionListener() {//删除
            public void actionPerformed(ActionEvent e) {
                if(e.getSource()==sc)
                {
                    String str=area.getSelectedText();
                  String newStr = area.getText().replace(str, "");
                  area.setText(newStr);
                }                     
            }   
        });
        
        frame.setLocation(350, 184);
        frame.setSize(600,400);
        frame.setVisible(true);
        area.setEditable(true);
    }   
}

实验结果
第十四周课程总结&实验报告_第1张图片
第十四周课程总结&实验报告_第2张图片
这段代码的撤销功能还没实现,其余的像复制、粘贴、剪切都实现了,其实也不难,直接调用相应的方法。

JDBC

JDBC是Java提供的一套数据库操作标准。JDBC提供了一种与平台无关的用于执行SQL语言的标准java API,可以方便地实现多种关系型数据库地统一操作。

MySQL数据库

MySQL常用命令

1.连接MySQL数据库

mysql-u用户名-p密码

2.创建数据库

创建数据库:CREATE DATABASE 数据库名称;
删除数据库:DROP DATABSE 数据库库名称;

3.使用数据库

USE 数据库名称;

4.创建数据库表

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

5.删除数据库表

DROP TABLE 表名称;

6.查看表结构

DESC 表名称;

7.查看数据库信息

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

MySQL中的数据类型

第十四周课程总结&实验报告_第3张图片
第十四周课程总结&实验报告_第4张图片
增加数据

INSERT INTO 表名称[(字段1,字段2,字段3,····字段n)]VALUSE(值1,值2,值3···值n);

删除数据

DELETE FROM [删除条件];

更新数据

UPDATE 表名称 SET 字段1=值1,···字段n=值1[WHERE 更新条件];

查询数据
简单查询语句

SELECT{*|column alias}
FROM 表名称 别名
[WHERE condition(s)];

查询全部数据

SELSCT *FROM user;

Connection接口的常用方法

第十四周课程总结&实验报告_第5张图片
第十四周课程总结&实验报告_第6张图片

你可能感兴趣的:(第十四周课程总结&实验报告)