码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-11-28 21:36:11      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:实验报告   set   statement   pad   tar   stat   class   ctr   otf   

实验代码:

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

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

标签:实验报告   set   statement   pad   tar   stat   class   ctr   otf   

原文地址:https://www.cnblogs.com/shigedidi/p/11953581.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!