ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

简单记事本的基本实现&十四周总结

2019-11-29 15:03:14  阅读:260  来源: 互联网

标签:总结 null 数据库 JMenuItem import new 四周 jTextArea 记事本


JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。是Java访问数据库的标准规范,JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。

原理:
  Java提供访问数据库规范称为JDBC,而生产厂商提供规范的实现类称为驱动。
  JDBC是接口,驱动是接口的实现类,没有驱动将无法完成数据库连接,从而不能操作数据库!每个数据库厂商都需要提供自己的驱动,用来连接自己公司的数据库,也就是说驱动一般都由数据库生成厂商提供。

我对JDBC的理解:JDBC就是用了让代码能更好的与数据库连接而由数据库厂商提供的接口,驱动是其实现类。使用JDBC需要几个步骤,同时对于增删改查也分为两种不同的操作,为了避免设置拼串时可能出现异常,使用preparedStatement进行预处理,为了减少代码量,可以将相同的代码封装到一个工具类内

MYSQL数据库:MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
简单记事本代码如下:

package note;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JTextArea;

//让其继承窗口类
public class TextPad extends JFrame implements ActionListener {
    private static final long serialVersionUID = 1L;    //定义一个文本框
    JTextArea jTextArea = null;//定义一个菜单栏
    JMenuBar jMenuBar = null;   //定义一个菜单
    JMenu jMenu1 = null;    
    JMenuItem jMenuItem1 = null;    
    JMenuItem jMenuItem2 = null;    
    JMenuItem jMenuItem3 = null;
    JMenuItem jMenuItem5 = null;
    JFileChooser jFileChooser = null;
    FileReader fileReader = null;
    FileWriter fileWriter = null;   
    BufferedReader bufferedReader = null;   
    BufferedWriter bufferedWriter = null;
    @SuppressWarnings("unused")
    public static void main(String[] args) {
        //实例化
        TextPad notePal = new TextPad();

    }
    public TextPad()

    {
        jTextArea = new JTextArea();//实例化jTextArea
        jMenuBar = new JMenuBar();//实例化jMenuBar
        jMenu1 = new JMenu("文件");
        jMenuItem1 = new JMenuItem("新建");
        jMenuItem1.addActionListener(this);
        jMenuItem1.setActionCommand("新建");
        jMenuItem2 = new JMenuItem("打开");
        jMenuItem2.addActionListener(this);
        jMenuItem2.setActionCommand("打开");
        jMenuItem3 = new JMenuItem("保存");
        jMenuItem3.addActionListener(this);
        jMenuItem3.setActionCommand("保存");
        jMenuItem5 = new JMenuItem("关闭");
        jMenuItem5.addActionListener(this);
        jMenuItem5.setActionCommand("关闭");
        jTextArea.setBackground(Color.WHITE);//设置jTextArea的背景颜色为
        this.setJMenuBar(jMenuBar);
        jMenuBar.add(jMenu1);
        jMenu1.add(jMenuItem1);
        jMenu1.add(jMenuItem2);
        jMenu1.add(jMenuItem3);
        jMenu1.add(jMenuItem5);
        this.add(jTextArea);
        this.setTitle("记事本(简单版)");
        this.setSize(800,600);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);

    }

    @Override

    public void actionPerformed(ActionEvent e) 
    {
        if(e.getActionCommand().equals("打开"))

        {
            jFileChooser = new JFileChooser();
            jFileChooser.setDialogTitle("选择自己的文件... ...");
            jFileChooser.showOpenDialog(null);
            jFileChooser.setVisible(true);
            String address = jFileChooser.getSelectedFile().getAbsolutePath();
        try {

                fileReader = new FileReader(address);
                bufferedReader = new BufferedReader(fileReader);
                String str = "";
                String strAll = "";
            while((str = bufferedReader.readLine()) != null)

                {

                    strAll += str + "\r\n";//将strAll中的全部信息显示到JTextArea上

                }
                jTextArea.setText(strAll);

            } catch (Exception e2) 
        {
                e2.printStackTrace();

            }
        finally{

                try {

                    bufferedReader.close();

                    fileReader.close();

                }
                catch (Exception e3) 
                {
                e3.printStackTrace();

                }
            }           

        }

    if(e.getActionCommand().equals("保存"))

        {
            JFileChooser jFileChooser1 = new JFileChooser();//创建一个保存窗口

            jFileChooser1.setDialogTitle("另存为... ...");//设置窗口名字
            jFileChooser1.showSaveDialog(null);//设置默认设置
            jFileChooser1.setVisible(true);//显示窗口
            try {
                fileWriter = new FileWriter(jFileChooser1.getSelectedFile().getAbsolutePath());//为fileWrite分配空间
                bufferedWriter = new BufferedWriter(fileWriter);//为bufferedWrite分配空间
                bufferedWriter.write(this.jTextArea.getText());//保存进去
    } 
            catch (Exception e2){
                e2.printStackTrace();

            }finally{
                try {

                    bufferedWriter.close();

                    fileWriter.close();

                } catch (Exception e3) {

                    e3.printStackTrace();

                }

            }

            

        }

    }

}

运行截图如下:


标签:总结,null,数据库,JMenuItem,import,new,四周,jTextArea,记事本
来源: https://www.cnblogs.com/Vennien/p/11957785.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有