第十四周课程总结&实验报告(简单记事本的实现)

第十四周课程总结

JDBC

1.Java数据库连接是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。

2.JDBC API允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的数据。

3.执行流程:连接数据源,如:数据库 —> 为数据库传递查询和更新指令 —> 处理数据库响应并返回的结果。

MySQL(关系型数据库管理系统)

关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

1、查看数据库:>SHOW DATABASES;

2、创建数据库:>CREATE DATABASE db_name;  //db_name为数据库名

3、使用数据库:>USE db_name;

4、删除数据库:>DROP DATABASE db_name;

实验报告(简单记事本的实现)

实验源码:

package test;

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 javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.KeyStroke;

public class LX implements ActionListener{
    
    JFrame frame;
    JMenuBar bar;
    JMenu fileMenu,editMenu;
    JMenuItem fnewItem,newItem,openItem,saveItem,anothersaveItem,closeItem;
    JTextArea area;
    JScrollPane scorll;
    File file;
    JFileChooser chooser;
    
    @SuppressWarnings("deprecation")
	public LX(){
    	frame = new JFrame("记事本");//创建一个窗体
        bar=new JMenuBar();          //创建一个菜单栏,在菜单栏里添加菜单
        fileMenu=new JMenu("文件");
        editMenu=new JMenu("编辑");
   
        area=new JTextArea();      //在文本组件上加入滚动组件
        scorll = new JScrollPane(area);
        
        fnewItem=new JMenuItem("新建(N)");
        newItem=new JMenuItem("新窗口(W)");
        openItem = new JMenuItem("打开(O)");
        saveItem=new JMenuItem("保存(S)");
        anothersaveItem=new JMenuItem("另存为(A)");
        closeItem=new JMenuItem("关闭(X)");
        
        fnewItem.addActionListener(this);
        newItem.addActionListener(this);
        openItem.addActionListener(this);
        saveItem.addActionListener(this);
        anothersaveItem.addActionListener(this);
        closeItem.addActionListener(this);
        
        fileMenu.add(fnewItem);
        fileMenu.add(newItem);
        fileMenu.add(openItem);
        fileMenu.add(saveItem);
        fileMenu.add(anothersaveItem);
        fileMenu.addSeparator();
        fileMenu.add(closeItem);
        
        fileMenu.setMnemonic(KeyEvent.VK_N);
        newItem.setMnemonic(KeyEvent.VK_N);
        openItem.setMnemonic(KeyEvent.VK_O);
        saveItem.setMnemonic(KeyEvent.VK_S);
        anothersaveItem.setMnemonic(KeyEvent.VK_A);
        closeItem.setMnemonic(KeyEvent.VK_C);
        
        fnewItem.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK));  //快捷键
        newItem.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK|InputEvent.SHIFT_MASK));
        openItem.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK));
        saveItem.setAccelerator(KeyStroke.getKeyStroke('S',java.awt.Event.CTRL_MASK));
        anothersaveItem.setAccelerator(KeyStroke.getKeyStroke('A',java.awt.Event.CTRL_MASK));
        closeItem.setAccelerator(KeyStroke.getKeyStroke('X',java.awt.Event.CTRL_MASK));
        
        bar.add(fileMenu);
        bar.add(editMenu);
        
        frame.setJMenuBar(bar);
        frame.add(scorll);
        frame.setSize(600,500);
        frame.setVisible(true);
    }
    

    public void actionPerformed(ActionEvent event) {
        Object obj=event.getSource();
        if(obj instanceof JMenuItem) {
            JMenuItem item=(JMenuItem) obj;
            if(item == this.newItem) {
                new LX();  //新建一个窗口
            }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);    //读入字节数组b的内容
                        area.append(new String(b));  //将b的内容添加进area
                        fis.close();   //关闭输入流
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    
                }else if(item==saveItem) { 
                    JFileChooser chooser=new JFileChooser();
                    chooser.showSaveDialog(null);
                    file=chooser.getSelectedFile();
                    if(!file.exists()) { //
                        try {
                            file.createNewFile();
                        } catch (IOException e) {
                            System.out.printf("io异常");
                            e.printStackTrace();
                        }
                    }
                        try {
                        FileOutputStream fos=new FileOutputStream(file);
                        byte[] b=area.getText().getBytes();
                        fos.write(b);
                        fos.close();
                    } catch (FileNotFoundException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }else if(item==closeItem) {
                    System.exit(1);
                }
            }
		}
    public static void main(String[] args) {
        new LX();
    }
  }

实验结果:

原文地址:https://www.cnblogs.com/LILI6/p/11957704.html