zoukankan      html  css  js  c++  java
  • 简单记事本的基本实现&十四周总结

    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 + "
    ";//将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();
    
    				}
    
    			}
    
    			
    
    		}
    
    	}
    
    }
    

    运行截图如下:


  • 相关阅读:
    java开发中遇到的问题及解决方法(持续更新)
    java.lang.UnsatisfiedLinkError: no XXX in java.library.path
    JNI与JNA性能比较
    JNA—JNI终结者
    JNI的替代者—使用JNA访问Java外部功能接口
    iOS开发UI篇—多控制器和导航控制器简单介绍
    李洪强iOS开发-网络新闻获取数据思路回顾
    iOS开发UI篇—Date Picker和UITool Bar控件简单介绍
    iOS开发UI篇—程序启动原理和UIApplication
    iOS开发UI篇—常见的项目文件介绍
  • 原文地址:https://www.cnblogs.com/Vennien/p/11957785.html
Copyright © 2011-2022 走看看