学习总结
制作一个记事本:
改进地方:图片显示和功能处理。
代码:

package Txjm;
import javax.swing .*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Demo4 extends JFrame implements ActionListener{

    JFrame frame;
    JTextArea area;
    JScrollPane scr;
    JMenuBar bar;
    JMenu menu;
    JMenuItem newItem , openItem, saveItem ,closeItem,exitItem;
    ImageIcon newIcon, openIcon,saveIcon,closeIcon,exitIcon;
    JFileChooser chooser;
    File file;
    FileInputStream fis;
    FileOutputStream fos;

    public Demo4() {


        frame = new JFrame("记事本");
        area = new JTextArea();
        scr = new JScrollPane(area);

        newIcon  = new ImageIcon("C:"+File.separator+"photo"+File.separator+"F.JPG");
        openIcon= new ImageIcon("C:"+File.separator+"photo"+File.separator+"T.JPG");
        saveIcon = new ImageIcon("C:"+File.separator+"photo"+File.separator+"X.JPG");
        closeIcon = new ImageIcon("C:"+File.separator+"photo"+File.separator+"O.JPG");
         exitIcon = new ImageIcon("C:"+File.separator+"photo"+File.separator+"M.JPG");

        bar = new JMenuBar();
        menu = new JMenu("文件");
        newItem = new JMenuItem("新建",newIcon);
        openItem = new JMenuItem("打开",openIcon);
        saveItem = new JMenuItem("另存为",saveIcon);
        closeItem= new JMenuItem("关闭",closeIcon);
        exitItem = new JMenuItem("退出",exitIcon);


        area.setEditable(true);
        frame.getContentPane().add(scr);

        newItem.setMnemonic('N');
        openItem.setMnemonic('O');
        closeItem.setMnemonic('C');
        exitItem.setMnemonic('E');

        newItem.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK));
        openItem.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK));
        saveItem.setAccelerator(KeyStroke.getKeyStroke('S',java.awt.Event.CTRL_MASK));
        closeItem.setAccelerator(KeyStroke.getKeyStroke('C',java.awt.Event.CTRL_MASK));
        exitItem.setAccelerator(KeyStroke.getKeyStroke('E',java.awt.Event.CTRL_MASK));

        newItem.addActionListener(this);
        openItem.addActionListener(this);
        saveItem.addActionListener(this);
        closeItem.addActionListener(this);
        exitItem.addActionListener(this);


        menu.add(newItem);
        menu.add(openItem);
        menu.add(saveItem);
        menu.add(closeItem);
        menu.add(exitItem);
        bar.add(menu);

        frame.addWindowListener(new MyWindowAdapter());

        frame.setJMenuBar(bar);

        frame.setSize(600, 500);
        frame.setLocation(300,200);
        frame.setVisible(true);

    }

    @Override
    public void actionPerformed(ActionEvent e) {
        file =null;
        Object obj = e.getSource();
        if(obj instanceof JMenuItem) {
            JMenuItem item = (JMenuItem)obj;
            if(item == newItem) {
                new Demo4();
            }else if(item == openItem) {
                chooser = new JFileChooser();
                chooser.showSaveDialog(null);
                file = chooser.getSelectedFile();
                try {
                    fis = new FileInputStream(file);
                    byte[] b = new byte[fis.available()];
                    fis.read(b);
                    String str = new String(b);
                    area.append(str);
                    fis.close();
                } catch (FileNotFoundException e1) {
                    e1.printStackTrace();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
            }else if(item == saveItem) {
                chooser = new JFileChooser();
                chooser.showSaveDialog(null);
                file = chooser.getSelectedFile();

                    try {
                        if(!file.exists()) {
                           file.createNewFile();
                        }
                        fos = new FileOutputStream(file);
                        byte[] b = area.getText().getBytes();
                        fos.write(b);
                        fos.close();
                    } catch (IOException e1) {
                        e1.printStackTrace();
                    }

            }else if(item == closeItem){
                System.exit(1);
            }
        }

    }

}
package Txjm;

public class Demo3 {

    public static void main(String[] args) {

        new Demo4 ();

    }

}
package Txjm;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

 class MyWindowAdapter extends WindowAdapter{
    public void WindowClosing(WindowEvent arg0) {
        System.exit(1);
    }

} 


遇到问题
(1)我想要显示的图片传不上去
解决办法:最后发现文件名错误导致搜索不到图片。
(2)图片显示过大,画面不协调。
解决办法:点击编辑,按比例调小。
(3)无法截图,拍照后博客园后台加载不了。
解决办法:先用照片方式传到电脑,截图照片保存。
错误反思:最近发现写的代码没有保存好,有的找不到,有的直接删了,所以在重新写时出现了有些问题。

JDBC驱动分类
类型1:JDBC-ODBC桥驱动
类型2:JDBC本地驱动
类型3:JDBC网络驱动
类型4:本地协议纯JDBC驱动
JDBC的基本操作中最常用的类和接口是DriverManger,Connection,Statement,Result,PreparedStatement.
MYSQL数据库

<font  color=#000000 size=4>连接MySQL数据库
mysql -u 用户名 -p 密码</font>
创建数据库
创建:CREATE DATABASE 数据库名称
删除:DROP DATABASE 数据库名称
创建数据库表
CREATE TABLE 表名称{
字段名称1     字段类型  [DEFAULT 默认值][约束],
字段名称2    字段类型  [DEFAULT 默认值][约束],
...,
字段名称n    字段类型  [DEFAULT 默认值][约束],
};
查看表结构
DESC 表名称
查看数据库的全部表
查看全部数据库:SHOW DATEBASE;
查看一个数据库的全部表:SHOW TABLES;

02-11 09:53