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

简单记事本的实现

实验源码

主类

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("
");
							while(scan.hasNext()) {
								area.append(scan.next ());
								area.append("
");
							}
							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);
	}	
}

实验结果


这段代码的撤销功能还没实现,其余的像复制、粘贴、剪切都实现了,其实也不难,直接调用相应的方法。

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中的数据类型



增加数据

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接口的常用方法


原文地址:https://www.cnblogs.com/jk-liulei/p/11959475.html