zoukankan      html  css  js  c++  java
  • 第十四周总结

    上周我们已经学习了许多关于记事本的相关内容,JMenuBar,JMenu,JMenuItem之间一环扣一环,菜单项JMenuItem加到菜单JMenu中,JMenu加到菜单容器JMenuBar中,
    JMenuBar加到窗体JFrame中 frame.setJMenuBar(jmb),再在窗体中和文件菜单中加入相关组件和事件监听就形成了基本的记事本了

    简单记事本代码

    package 记事本;
    
    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.PrintStream;
    
    import javax.swing.*;
    
    public class Jishi implements ActionListener {
    
    	JFrame f;
    	JMenuBar bar;
    	JMenu fileMenu, editMenu;
    	JMenuItem newItem, openItem, lsaveItem, closeItem, saveItem;
    	JScrollPane cro;
    	JTextArea area;
    	JFileChooser chooser;
    	File file;
    	JLabel label;
         
    	//构造方法
    	public Jishi() {
    		//定义对象
    		f = new JFrame();
    		bar = new JMenuBar();
    		fileMenu = new JMenu("文件");
    		editMenu = new JMenu("编辑");
    		area = new JTextArea();
    		cro = new JScrollPane(area);
    		JLabel label = new JLabel();
            
    		//菜单文件扩展类容
    		newItem = new JMenuItem("新建(n)");
    		openItem = new JMenuItem("打开(d)");
    		lsaveItem = new JMenuItem("另存为(c)");
    		closeItem = new JMenuItem("关闭(k)");
    		saveItem = new JMenuItem("保存");
            
    		//在组件中加入事件监听
    		newItem.addActionListener(this);
    		openItem.addActionListener(this);
    		lsaveItem.addActionListener(this);
    		closeItem.addActionListener(this);
    		saveItem.addActionListener(this);
            
    		//在菜单文件中加入类容
    		fileMenu.add(newItem);
             	fileMenu.addSeparator();
    		fileMenu.add(openItem);
    	        fileMenu.addSeparator();
    		fileMenu.add(lsaveItem);
    	        fileMenu.addSeparator();
    		fileMenu.add(closeItem);
    	        fileMenu.addSeparator();
    		fileMenu.add(saveItem);
            
    		//快捷键设置
    		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));
    		lsaveItem.setMnemonic(KeyEvent.VK_C);
    		lsaveItem.setAccelerator(KeyStroke.getKeyStroke('C', 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);
    		f.setJMenuBar(bar);
    		f.add(cro);
    		f.setSize(400, 300);
    		f.setVisible(true);
    
    	}
    
    	@Override
    	//事件监听处理
    	public void actionPerformed(ActionEvent event) {
    		Object obj = event.getSource();
    		if (obj instanceof JMenuItem) {                
    			JMenuItem item = (JMenuItem) obj;            //菜单事件监听处理实例化
    			if (item == newItem) {                         //新建事件处理                    
    				new Jishi();
    			} else if (item == openItem) {                //打开文件处理
    				chooser = new JFileChooser();
    				chooser.showOpenDialog(null);
    				file = chooser.getSelectedFile();
    
    				FileInputStream fis;
    				try {
    					fis = new FileInputStream(file);
    					byte[] b = new byte[fis.available()];
    					fis.read(b);
    					area.append(new String(b));
    					fis.close();
    				} catch (FileNotFoundException e) {
    
    					e.printStackTrace();
    				} catch (IOException e) {
    
    					e.printStackTrace();
    				}
    			} else if (item == saveItem) {                    //保存文件事件处理
    				chooser = new JFileChooser();
    				chooser.showSaveDialog(null);
    				file = chooser.getSelectedFile();
    
    				if (file != null) {
    					try {
    						PrintStream out = new PrintStream(new FileOutputStream(file));
    						out.print(this.area.getText());
    						out.close();
    					} catch (FileNotFoundException e) {
    
    						e.printStackTrace();
    					}
    				}
    
    			} else if (item == lsaveItem) {               //  另存为事件处理
    				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 记事本;
    
    public class text {
    
    	public static void main(String[] args) {
    		new Jishi();
    
    	}
    
    }
    


    除了记事本我们还学习了java数据库的编程
    JDBC的概述
    主要操作类及接口

    序号 类及接口 描述
    1 java.sql.DriverManager 用于管理JDBC驱动
    2 java.sql.Connection 用于建立与特定数据库连接
    3 java.sql.ResultSet 用于创建表示SQL语句检索结果的结果集,用户通过结果集完成对数据库的访问
    4 java.sql.Date 该类是标准java.util.Date的一个子集,用于表示日期
    5 java.sql.CallableStatement 用于执行SQL存储过程
    6 java.sql.Driver 定义一个数据库驱动程序的接口
    7 java.sql.Time 该类是标准java.util.Date的一个子集,用来表示具体时间

    MySQL数据库

    命令

    数据库连接
    mysql -u用户名 -p密码
    
    数据库创建
    创建数据库 CREATE DATABASE 数据库名称;
    数据库删除 DROP DATABASE 数据库名称;
    
    使用数据库
    USE 数据库名称;
    
    创建数据库表
    CREATE TABLE{
    字段名称1   字段类型 [DEFAULT 默认值][约束]
    字段名称2   字段类型 [DEFAULT 默认值][约束],
    ...,
    字段名称n   字段类型 [DEFAULT 默认值][约束],
    
    删除数据库表 DELETE FROM 表名称
    更新 UPDATE 表名称
    查询 SELECT{*lcolumn alias} FROM 表名称
    

    配置MySQL数据库的驱动程序

    package org.lxh.demo17.connectdemo;
    pubilc class ConnectionDemo1{
    //定义加载驱动程序
    public static final String DBDR="org.gjt.mm.mysql.Driver";
    pubilc static void main(String args){
         try{
                class.forName(DBDRIVER);
             }catch(ClassNotFountException e){
                 e.printStackTrace();
           }
        }
    }
    
  • 相关阅读:
    sqlite数据库的char,varchar,text,nchar,nvarchar,ntext的区别(转)
    DELPHI XE5-8 弹出列表框供选择
    delphi弹出选择对话框选择目录|SelectDirectory 函数(转)
    php 与java安卓客户端的查询交互
    sql查询语句的拼接小技巧(高手勿喷)
    高德地图应用——与云图后台交互
    Inno Setup 通用脚本及简要说明( 一般情况够用了)
    不用SQL给打印记录编号
    DELPHI XE5/6/7 android 无线真机调试
    超级简单的例子说明JAVA PACKET CLASS 和变量之间的关系
  • 原文地址:https://www.cnblogs.com/djhxxx/p/11953838.html
Copyright © 2011-2022 走看看