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