• 第十四周课程总结


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

    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;
    
  • 相关阅读:
    Redis实战(十)Redis常见问题及解决方案
    小团队构建大网站:中小研发团队架构实践
    Asp.net core 3.0
    图解TCP/IP
    TCP/IP协议
    Grid画边框
    WPF常用方法,事件驱动和控件遍历
    WPF中的画图
    WPF中的常用类汇总:
    WPF中的VisualTreeHelper
  • 原文地址:https://www.cnblogs.com/1211li/p/11956652.html
Copyright © 2020-2023  润新知