第十四周课程总结&实验报告(简单记事本的实现)

Posted shigedidi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十四周课程总结&实验报告(简单记事本的实现)相关的知识,希望对你有一定的参考价值。

实验代码:

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接口实现的。

以上是关于第十四周课程总结&实验报告(简单记事本的实现)的主要内容,如果未能解决你的问题,请参考以下文章

第十四周课程总结&实验报告

第十四周课程总结&实验报告(简单记事本的实现)

第十四周课程总结&实验报告(简单记事本的实现)

第十四周课程总结&实验报告(简单记事本的实现)

第十四周课程总结&实验报告

第十四周课程总结&实验报告(简单记事本的实现)