第十四周Java学习总结
关于简单记事本和数据库操作
(一)简单记事本:
源代码:
package com.itcast.adc.demo04; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class TextPad implements ActionListener { JFrame jFrame; JMenuBar jMenuBar; JMenu fileMenu,editMenu; JTextArea jTextArea; JScrollPane jScrollPane; ImageIcon newIcon,openIcon,saveIcon,closeIcon; JMenuItem newItem,openItem,saveItem,closeItem,baoItem; JFileChooser chooser,chooser1,chooser2; Object File; public TextPad(){ jFrame=new JFrame("记事本");//创建一个窗体 jMenuBar=new JMenuBar();//new一个菜单栏,在菜单栏里添加菜单 fileMenu=new JMenu("文件");//新建俩个菜单 editMenu=new JMenu("编辑"); jTextArea=new JTextArea();//new一个多文本组件 jScrollPane=new JScrollPane(jTextArea);//在文本组件上加入滚动组件 // newIcon=new ImageIcon("d:"+ File.separator+"images"+File.separator+); // openIcon=new ImageIcon("d:"+ File.separator+"images"+File.separator+); // saveIcon=new ImageIcon("d:"+ File.separator+"images"+File.separator+); // closeIcon=new ImageIcon("d:"+ File.separator+"images"+File.separator+); //创建菜单项 newItem=new JMenuItem("新建(N)", null); openItem=new JMenuItem("打开(O)", null); baoItem=new JMenuItem("保存(S)",null); saveItem=new JMenuItem("另存为(C)", null); closeItem=new JMenuItem("关闭(E)", null); //助记符 newItem.setMnemonic(KeyEvent.VK_N); openItem.setMnemonic(KeyEvent.VK_O); baoItem.setMnemonic(KeyEvent.VK_S); saveItem.setMnemonic(KeyEvent.VK_C); closeItem.setMnemonic(KeyEvent.VK_E); //快捷键 newItem.setAccelerator(KeyStroke.getKeyStroke('N', InputEvent.CTRL_MASK)); openItem.setAccelerator(KeyStroke.getKeyStroke('O', InputEvent.CTRL_MASK)); baoItem.setAccelerator(KeyStroke.getKeyStroke('S',InputEvent.CTRL_MASK)); saveItem.setAccelerator(KeyStroke.getKeyStroke('C', InputEvent.CTRL_MASK)); closeItem.setAccelerator(KeyStroke.getKeyStroke('E', InputEvent.CTRL_MASK)); jMenuBar.add(fileMenu);//在菜单栏加菜单 jMenuBar.add(editMenu); fileMenu.add(newItem);//在菜单上加菜单项 fileMenu.add(openItem); fileMenu.add(baoItem); fileMenu.add(saveItem); fileMenu.addSeparator();//加入分割线 fileMenu.add(closeItem); newItem.addActionListener(this);//给每个菜单项加入监听器!!! openItem.addActionListener(this); baoItem.addActionListener(this); saveItem.addActionListener(this); closeItem.addActionListener(this); jFrame.add(jScrollPane); jFrame.setJMenuBar(jMenuBar); jFrame.setVisible(true); jFrame.setLocation(180,140); jFrame.setSize(1100,550); } @Override public void actionPerformed(ActionEvent e) { Object obj=e.getSource();//获取监听事件的对象来源且是父类 if(obj instanceof JMenuItem){//判断obj对象是否为JMenuItem的实例 JMenuItem item=(JMenuItem) obj;//将对象转型 if(item==newItem){ new TextPad(); }else if (item==openItem) { chooser = new JFileChooser(); chooser.showOpenDialog(null); java.io.File file = chooser.getSelectedFile(); try { FileInputStream f = new FileInputStream(file); byte[] b = new byte[1024]; f.read(b); jTextArea.append(new String(b)); f.close(); } catch (FileNotFoundException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); } }else if ((item==saveItem)||(item==baoItem)){ chooser1=new JFileChooser(); chooser1.showSaveDialog(null); java.io.File file = chooser1.getSelectedFile(); try { if(!file.exists()){ file.createNewFile(); } FileOutputStream fs=new FileOutputStream(file); byte[] b=jTextArea.getText().getBytes();//重要 fs.write(b); fs.close(); } catch (FileNotFoundException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); } }else if (item==closeItem){ System.exit(1); } } } }
package com.itcast.adc.demo04; public class Test { public static void main(String[] args) { new TextPad(); } }
运行结果截图:
关于文件菜单的相关功能已经做出来了,接下来就是 编辑、帮助、格式等等菜单,这个我以后会继续研究!!
相关链接: https://blog.csdn.net/wangha_1/article/details/78937248
(二)数据库的操作(jdbc)
- JDBC操作步骤
(1)加载驱动
(2)连接数据库
(3)通过Statement发送sql语句
通过Prepared Statement发送sql语句
(4)关闭数据库
1.加载驱动程序 public static final String DBDRIVER = "org.gjt.mm.mysql.Driver"; //MySQL中的数据库驱动程序路径 Class.forName(DBDRIVER); //利用class类加载驱动程序,需要处理异常 2.连接数据库 ........接上 Connection conn = null; conn = DriverManager.getConnetion(连接地址,用户名,密码);//需处理异常 3.执行数据库 需要使用Statement 接口完成
2.操作实例