十四周学习总结&简易记事本

学习总结:
一、JDBC:
1.JDBC提供里一套与平台无关的标准数据库操作接口和类,只要支持java的数据库厂商,所提供的数据库都可以以使用JDBC操作。
2.JDBC的主要操作类及接口:

3.JDBC的操作步骤:
(1)加载驱动程序:驱动程序有各个数据库产生商提供。
(2)连接数据库:连接时要提供连接路径、用户名、密码。
(3)实例化操作:通过连接对象实例化Statement或PreparedStatement对象。
(4)操作数据库:使用Statement或PreparedStatemen操作,如果是查询,则全部的查询结果使ResultSet进行接收。

二、MySQL数据库:是一个小型关系数据库管理系统。
安装及配置:

常用命令:
连接MySQL数据库:mysql -u用户名 -p密码
创建数据库:CREATE DATABASE 数据库名称
删除数据库:DROP DATABASE 数据库名称
使用数据库:USE 数据库名称
创建数据库表:
CREATE TABLE 表名称(
    字段名称1    字段类型[DEFAULT 默认值][约束],
    字段名称2    字段类型[DEFAULT 默认值][约束],
    ...,
    字段名称n    字段类型[DEFAULT 默认值][约束] 
)
删除数据库表:DROP TABLE 表名称;
查看表结构:DESC 表名称;
查看数据库信息:
查看全部数据库:SHOW ADTABASES;
查看一个数据库的全部表:SHOW TABLES;

实验 :记事本
实现代码:

package jishi;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;

import javax.swing.*;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;



public class Notepad implements ActionListener {
	JFrame frame;
	JMenuBar bar;
	JMenu fileMenu,editMenu;
	JMenuItem newItem,openItem,saveItem,closeItem;
	ImageIcon newIcon,openIcon,saveIcon,closeIcon;
	JScrollPane scroll;
	JTextArea area;
	JFileChooser chooser;
	File file;
	
	public Notepad(){
		frame = new JFrame("记事本");
		bar = new JMenuBar();
		fileMenu = new JMenu("文件(F)");
		editMenu = new JMenu("编辑(E)");
		area = new JTextArea();
		scroll = new JScrollPane(area);
		
		newItem = new JMenuItem("新建(N)",newIcon);
		openItem = new JMenuItem("打开(O)",newIcon);
		saveItem = new JMenuItem("保存(S)",newIcon);
		saveItem = new JMenuItem("另存为(A)",newIcon);
		closeItem = new JMenuItem("关闭(X)",newIcon);
		JScrollPane scroll = new JScrollPane(area, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
		
		//加监听器
		newItem.addActionListener(this);
		openItem.addActionListener(this);
		saveItem.addActionListener(this);
		saveItem.addActionListener(this);
		closeItem.addActionListener(this);
		
		fileMenu.add(newItem);
		fileMenu.add(openItem);
		fileMenu.add(saveItem);
		fileMenu.add(saveItem);
		fileMenu.add(closeItem);
		
		newItem.setMnemonic(KeyEvent.VK_N);
        newItem.setAccelerator(KeyStroke.getKeyStroke('N', java.awt.Event.CTRL_MASK));
        openItem.setMnemonic(KeyEvent.VK_D);
        openItem.setAccelerator(KeyStroke.getKeyStroke('D', java.awt.Event.CTRL_MASK));
        closeItem.setMnemonic(KeyEvent.VK_K);
        closeItem.setAccelerator(KeyStroke.getKeyStroke('K', java.awt.Event.CTRL_MASK));
        saveItem.setMnemonic(KeyEvent.VK_S);
        saveItem.setAccelerator(KeyStroke.getKeyStroke('S', java.awt.Event.CTRL_MASK));
		
		bar.add(fileMenu);
		bar.add(editMenu);
		
		frame.setJMenuBar(bar);
		frame.add(scroll);
		frame.setSize(600,400);
		frame.setVisible(true);
	}
	
	//事件监听处理
	public void actionPerformed(ActionEvent event){
		Object ob = event.getSource();
		if(ob instanceof JMenuItem){
			JMenuItem item = (JMenuItem) ob;
			if(item == newItem){
				new Notepad();
			}
			else if (item == openItem){
				chooser = new JFileChooser();
				chooser.showOpenDialog(null);
				file = chooser.getSelectedFile();
				try{
					FileInputStream fs = new FileInputStream(file);
					byte[] b = new byte[fs.available()];
					fs.read(b);
					area.append(new String(b));
					fs.close();
				}catch(FileNotFoundException e){
					e.printStackTrace();
				}catch(IOException e){
					e.printStackTrace();
				}
			}
			else if (item == saveItem){
				chooser = new JFileChooser();
				chooser.showSaveDialog(null);
				file = chooser.getSelectedFile();
				try{
					if(!file.exists()){
						file.createNewFile();
					}
					
					FileOutputStream fos = new FileOutputStream(file);
					byte[] b = area.getText().getBytes();
					fos.write(b);
					fos.close();
				}catch(IOException e){
					e.printStackTrace();
				}
			}
			else if (item == closeItem){
				System.exit(1);
			}
		}
	}
	
	
}
package jishi;

public class Demo {

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

	}

}

运行结果:

原文地址:https://www.cnblogs.com/jzq93/p/11959998.html