第十四周课程报告
第十四周课程总结&实验报告(简单记事本的实现)
简单记事本的实现
实验代码:
package QXC; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.KeyStroke; public class Example implements ActionListener{ JFrame frame; JScrollPane pan; JMenu menufile; JMenuBar jmenubar; JMenuItem newitem, openitem, saveitem, closeitem; JTextArea area; File file; public Example(){ frame=new JFrame("QXC"); menufile=new JMenu("文件"); jmenubar=new JMenuBar(); newitem=new JMenuItem("新建(N)"); openitem=new JMenuItem("打开(O)"); saveitem=new JMenuItem("另保存(S)"); closeitem=new JMenuItem("退出(X)"); pan=new JScrollPane(pan,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); newitem.setMnemonic(KeyEvent.VK_N); openitem.setMnemonic(KeyEvent.VK_O); saveitem.setMnemonic(KeyEvent.VK_S); closeitem.setMnemonic(KeyEvent.VK_X); newitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.ALT_DOWN_MASK)); openitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.ALT_DOWN_MASK)); saveitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.ALT_DOWN_MASK)); closeitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.ALT_DOWN_MASK)); newitem.addActionListener(this); openitem.addActionListener(this); saveitem.addActionListener(this); closeitem.addActionListener(this); jmenubar.add(menufile); menufile.add(newitem); menufile.add(openitem); menufile.add(saveitem); menufile.addSeparator(); menufile.add(closeitem); frame.add(pan); frame.setJMenuBar(jmenubar); frame.setVisible(true); frame.setSize(400,300); } public void actionPerformed(ActionEvent event) { Object ob = event.getSource(); if (ob instanceof JMenuItem) { JMenuItem item = (JMenuItem) ob; if (item == newitem) { new Example(); } else if (item == openitem) { JFileChooser ch = new JFileChooser(); ch.showOpenDialog(null); file = ch.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 e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } else if (item == saveitem) { JFileChooser ch = new JFileChooser(); ch.showSaveDialog(null); file = ch.getSelectedFile(); if (!file.exists()) { try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } } else if (item == closeitem) { System.exit(0); } } } }
package QXC; public class Test { public static void main(String[] args) { new Example();// TODO Auto-generated method stub } }
截图:
数据库总结:
JDBC是Java提供的一套数据库操作的标准,不同的数据库生产商要按照标准生产数据库驱动,我们开发者只需要掌握核心的接口与类就可以通过SQL实现任意的数据库操作。
JDBC的主要操作类及接口:
Java.sql.CallableStatement:用于执行SQL存储过程
Java.sql.Types:定义了表示SQL类型的常量
java.sql.DriverManager :用于管理jdbc驱动程序
Java.sql.Connection :用于建立与特定数据库的连接
Java.sql.Statement 一个Statement的对象用于执行静态sql语句,并获得语句执行后产生的后果
Java.sql.PreparedStatement 创建一个可以编译的sql语句对象,该对象可以多次被运行,以提高执行效率,是Statement的子接口
Java.sql.ResultSet 用于创建表示sql语句检索结果的结果集,用户通过结果集完成对数据库的访问
Java.sql.CallableStatement:用于执行SQL存储过程
Java.sql.Types:定义了表示SQL类型的常量
在JDBC中基本操作中最常用的类和接口就是DriverManger、Connection、Statement、Result、PrepaerdStatement。
2.MySQL数据库:
MySQL的官方网站是:www.mysql.com
MySQL的安装及配置:端口设置默认值是3360.