zoukankan      html  css  js  c++  java
  • 第十四周课程总结&实验报告(简单记事本的实现)

    实验代码:

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.KeyEvent;
    import java.io.*;
    
    import javax.swing.*;
    
    public class TextPad implements ActionListener{
        JFrame frame;
        JTextArea jta;
        File file1;
        JMenuBar menubar;
        JMenu menu;
        JMenuItem newitem;
        JMenuItem openitem;
        JMenuItem closeitem;
        JMenuItem saveitem;
        JScrollPane scroll;
        JFileChooser jfc;
        public TextPad() {
            frame=new JFrame("记事本");
            jta=new JTextArea(10,4);
            jta.setEditable(true);
            scroll=new JScrollPane(jta,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
            
            menubar=new JMenuBar();
            menu=new JMenu("文件");
            newitem=new JMenuItem("新建");
            openitem=new JMenuItem("打开");
            closeitem=new JMenuItem("关闭");
            saveitem=new JMenuItem("另存为");
            
            newitem.setMnemonic(KeyEvent.VK_N);
            openitem.setMnemonic(KeyEvent.VK_O);
            closeitem.setMnemonic('c');
            saveitem.setMnemonic('s');
            
            newitem.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK));
            openitem.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK));
            closeitem.setAccelerator(KeyStroke.getKeyStroke('C',java.awt.Event.CTRL_MASK));
            saveitem.setAccelerator(KeyStroke.getKeyStroke('S',java.awt.Event.CTRL_MASK));
            
            newitem.addActionListener(this);
            openitem.addActionListener(this);
            closeitem.addActionListener(this);
            saveitem.addActionListener(this);
            
            menu.add(newitem);
            menu.add(openitem);
            menu.add(closeitem);
            menu.add(saveitem);
            
            menubar.add(menu);
            
            frame.setJMenuBar(menubar);
            frame.add(scroll);
            frame.setSize(550,400);
            frame.setLocation(460,180);
            frame.setVisible(true);
            
        }
    
        @Override
        public void actionPerformed(ActionEvent e) {
            if(e.getSource() instanceof JMenuItem) {
                if(e.getSource()==newitem) {
                    new TextPad();
                }
                else if(e.getSource()==openitem) {
                    jfc=new JFileChooser();
                    jfc.showOpenDialog(null);
                    file1=jfc.getSelectedFile();
                    try {
                        FileInputStream input=new FileInputStream(file1);
                        byte b1[]=new byte[(int) file1.length()];
                        try {
                            input.read(b1);
                            String str=new String(b1);
                            jta.append(str);
                            input.close();
                        } catch (IOException e1) {
                            // TODO Auto-generated catch block
                            e1.printStackTrace();
                        }
                    } catch (FileNotFoundException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }
                else if(e.getSource()==closeitem) {
                    System.exit(1);
                }
                else if(e.getSource()==saveitem) {
                    jfc=new JFileChooser();
                    jfc.showOpenDialog(null);
                    file1=jfc.getSelectedFile();
                    try {
                        FileOutputStream output=new FileOutputStream(file1);
                        byte b1[]=jta.getText().getBytes();
                        try {
                            output.write(b1);
                            output.close();
                        } catch (IOException e1) {
                            // TODO Auto-generated catch block
                            e1.printStackTrace();
                        }
                    } catch (FileNotFoundException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }
            }
            
        }
        
    }
    public abstract class Test {
    
        public static void main(String[] args) {
            new TextPad();
        }
    
    }

    截图:

    编程总结:刚开始写的时候遇到很多的问题,对很多的方法掌握的还是不太行,比如对于JMenuItem设计快捷键的问题不会,返回多行文本框内的内容不知道,

    一开始将JMenuBar直接用add加在JFrame容器上,还有关于JFileChooser类的使用很不了解和不太熟练的运用监听器,所以就导致呢我一开始就只会编写一个
    记事本的框架,对于事件的处理呢不会,然后就磨了好久的时间,最后还是看了好多次老师的程序后来才做出来的,虽然用了很多的时间,但是收获也不少。

    学习总结:这周我们学到了数据库的操作,感觉老师讲的蛮快的,对于驱动、连接、数据库和程序之间的关系还是没搞懂,只学到了怎么对数据库内的数据进行

    修改和怎么用程序对已经和程序连接了的数据库进行数据库修改。数据库的连接接口时Connection,数据库数据操作时用过Statement接口实现的。

  • 相关阅读:
    mysql
    mysql
    mysql
    mysql
    mysql
    mysql
    mysql
    mysql
    mysql
    为你的react项目添加路由
  • 原文地址:https://www.cnblogs.com/shigedidi/p/11953581.html
Copyright © 2011-2022 走看看