• 14周作业


    源代码:

    package ob;
    
    import java.awt.*;
    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 javax.swing.*;
    
    public class TextMenu implements ActionListener {
    
        JFrame frame;//定义窗体
        JMenuBar bar;//定义JMenuBar
        JMenu fileMenu;//定义菜单栏
        JMenuItem newItem,openItem,saveItem,closeItem;//定义菜单选项
        ImageIcon newIcon,openIcon,saveIcon,closeIcon;//定义显示图标
        JScrollPane scr;//加入滚动条
        JTextArea area;//定义文本域
        JFileChooser chooser;
        File file;
        FileDialog savedialog;
        
        public TextMenu() {
            
            //实例化
            frame=new JFrame("HSQ");
            bar=new JMenuBar();
            fileMenu=new JMenu("文件");  
            newItem=new JMenuItem("新建(N)");
            openItem=new JMenuItem("打开(O)");
            saveItem=new JMenuItem("另存为(A)");
            closeItem=new JMenuItem("退出(X)");
            newIcon=new ImageIcon("d:"+File.separator+"if you"+File.separator+"新建.png");
            openIcon=new ImageIcon("d:"+File.separator+"if you"+File.separator+"打开.png");
            saveIcon=new ImageIcon("d:"+File.separator+"if you"+File.separator+"另存为.png");
            closeIcon=new ImageIcon("d:"+File.separator+"if you"+File.separator+"退出.png");
            
            newItem = new JMenuItem("新建(N)", newIcon);
            openItem = new JMenuItem("打开(O)", openIcon);
            saveItem = new JMenuItem("另存为(A)", saveIcon);
            closeItem = new JMenuItem("退出(X)", closeIcon);
            
            area=new JTextArea(10,30);
            area.setLineWrap(true);
            
            scr = new JScrollPane(area,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
            
            
            //设置快捷键
            newItem.setMnemonic(KeyEvent.VK_N);
            openItem.setMnemonic(KeyEvent.VK_O);
            saveItem.setMnemonic(KeyEvent.VK_A);
            closeItem.setMnemonic(KeyEvent.VK_X);
            
            newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,java.awt.Event.CTRL_MASK));
            openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,java.awt.Event.CTRL_MASK));
            saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,java.awt.Event.CTRL_MASK));
            closeItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,java.awt.Event.CTRL_MASK));
            
            //加入菜单项
            fileMenu.add(newItem);
            fileMenu.add(openItem);
            fileMenu.add(saveItem);
            fileMenu.add(closeItem);
            
            //加入事件监听器
            newItem.addActionListener(this);
            openItem.addActionListener(this);
            saveItem.addActionListener(this);
            closeItem.addActionListener(this);
            
            bar.add(fileMenu);
            
            frame.setJMenuBar(bar);
            area.setEditable(true);
            
            frame.add(scr);
            frame.setSize(300 ,300);
            frame.setVisible(true);
        }
    
        //按钮事件监听
        public void actionPerformed(ActionEvent e) {
            
            Object obj=e.getSource();
            if(obj instanceof JMenuItem) {
                JMenuItem item=(JMenuItem) obj;
                if(item==newItem) {
                    new TextMenu();
                }
                else if(item==openItem) {
                    chooser=new JFileChooser();
                    chooser.showOpenDialog(null);
                    file=chooser.getSelectedFile();
                    try {
                        FileInputStream fis=new FileInputStream(file);
                        byte[] b=new byte[fis.available()];
                        fis.read(b);
                        area.append(new String(b));
                        fis.close();
                    }catch(FileNotFoundException ee) {
                        ee.printStackTrace();
                    }catch(IOException eee) {
                        eee.printStackTrace();
                    }
                     
                }else if(item==saveItem) {
                    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 eee) {
                        eee.printStackTrace();
                    }
            
                }else if(item == closeItem) {
                    System.exit(1);
                }
              
            }
        }
        
    }
    

    总结:本次实验是对前几周所学知识的一次综合实验,讲组件、窗口等充分利用整合起来;让我对之前一些不怎么理解的东西加深了印象

    JDBC总结:
    目前比较常见的JDBC驱动程序可分为以下四个种类:
    (1)JDBC-ODBC桥加ODBC驱动程序
    JavaSoft桥产品利用ODBC驱动程序提供JDBC访问。
    (2)本地API
    这种类型的驱动程序把客户机API上的JDBC调用转换为Oracle、Sybase、Informix、DB2或其它DBMS的调用。
    (3)JDBC网络纯Java驱动程序
    这种驱动程序将JDBC转换为与DBMS无关的网络协议,之后这种协议又被某个服务器转换为一种DBMS协议。
    (4)本地协议纯Java驱动程序
    这种类型的驱动程序将JDBC调用直接转换为DBMS所使用的网络协议。
    JDBC的主要操作类及接口:

  • 相关阅读:
    vue零散知识
    vue router 和 组件生命周期的理解
    未搞懂的问题
    前端问题总结
    垂直居中
    css,js加载阻塞页面渲染的理解
    node 学习
    自定义事件
    学习react 遇到的问题
    [AHOI2001]彩票摇奖
  • 原文地址:https://www.cnblogs.com/sqhe2000/p/11960197.html
Copyright © 2020-2023  润新知