zoukankan      html  css  js  c++  java
  • 第十四周课程总结&实验报告

    简单记事本的实现

    实验源码

    主类

    package test1;
    
    import javax.swing.JFrame;
    import javax.swing.JTextArea;
    
    public class WordPAD {
    
        public static void main(String[] args) {
    		new Note();
        }
    }
    

    Note类

    package test1;
    
    import javax.swing.*;
    import javax.swing.undo.UndoManager;
    
    import java.awt.*;
    import java.awt.datatransfer.Clipboard;
    import java.awt.datatransfer.DataFlavor;
    import java.awt.datatransfer.StringSelection;
    import java.awt.datatransfer.Transferable;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.KeyEvent;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.io.PrintStream;
    import java.util.Scanner;
    public class Note {
    	JFrame frame;
    	JTextArea area;
    	JMenu jmenu,jmeun1;
    	JMenuBar bar;
    	JScrollPane scr;
    	JMenuItem newItem,openItem,saveItem,closeItem;
    	JMenuItem  cx,jq,fz,zt,sc;
    	JPanel butpan=new JPanel();
    	int result=0;
    	UndoManager um;
    	byte b[];
    	InputStream input;
    	OutputStream out;
    	
    	public Note() {
    		frame=new JFrame("L L");
    		area=new JTextArea(30,40);
    		jmenu=new JMenu("文件");
    		jmeun1=new JMenu("编辑");
    		jmenu.setIcon(new ImageIcon("C:\Users\26404\Desktop\1.PNG"));
    		jmenu.addSeparator();
    		bar=new JMenuBar();
    		scr=new                             JScrollPane(area,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        	        newItem=new JMenuItem("新建(N)",new ImageIcon("C:\Users\26404\Desktop\2.PNG"));
    		openItem=new JMenuItem("打开(O)",new ImageIcon("C:\Users\26404\Desktop\3.PNG"));
    		saveItem=new JMenuItem("另存为(A)",new ImageIcon("C:\Users\26404\Desktop\5.PNG"));
    		closeItem=new JMenuItem("关闭(X)",new ImageIcon("C:\Users\26404\Desktop\4.PNG"));
    		cx=new JMenuItem("撤销(U)");
    		jq=new JMenuItem("剪切(T)");
    		fz=new JMenuItem("复制(C)");
    		zt=new JMenuItem("粘贴(P)");
    		sc=new JMenuItem("删除(L)");
    		newItem.setMnemonic(KeyEvent.VK_N);
    		openItem.setMnemonic(KeyEvent.VK_O);
    		saveItem.setMnemonic(KeyEvent.VK_A);
    		closeItem.setMnemonic(KeyEvent.VK_X);
    		newItem.setAccelerator(KeyStroke.getKeyStroke('N', java.awt.Event.CTRL_MASK));
    		openItem.setAccelerator(KeyStroke.getKeyStroke('O', java.awt.Event.CTRL_MASK));
    		saveItem.setAccelerator(KeyStroke.getKeyStroke('A', java.awt.Event.CTRL_MASK));
    		closeItem.setAccelerator(KeyStroke.getKeyStroke('X', java.awt.Event.CTRL_MASK));
    		cx.setMnemonic(KeyEvent.VK_U);
    		jq.setMnemonic(KeyEvent.VK_T);
    		fz.setMnemonic(KeyEvent.VK_C);
    		zt.setMnemonic(KeyEvent.VK_P);
    		sc.setMnemonic(KeyEvent.VK_L);
    		cx.setAccelerator(KeyStroke.getKeyStroke('Z', java.awt.Event.CTRL_MASK));
    		jq.setAccelerator(KeyStroke.getKeyStroke('X', java.awt.Event.CTRL_MASK));
    		fz.setAccelerator(KeyStroke.getKeyStroke('C', java.awt.Event.CTRL_MASK));
    		zt.setAccelerator(KeyStroke.getKeyStroke('V', java.awt.Event.CTRL_MASK));
    		sc.setAccelerator(KeyStroke.getKeyStroke("Del"));
    
    		jmenu.add(newItem);
    		jmenu.add(openItem);
    		jmenu.add(saveItem);
    		jmenu.add(closeItem);
    		jmeun1.add(cx);
    		jmeun1.add(jq);
    		jmeun1.add(fz);
    		jmeun1.add(zt);
    		jmeun1.add(sc);
    		
    		bar.add(jmenu);
    		bar.add(jmeun1);
    		frame.add(scr);
    		frame.setJMenuBar(bar);
    		
    		newItem.addActionListener(new ActionListener() {//新建
    			public void actionPerformed(ActionEvent e) {
    				if(e.getSource()==newItem)
    					new Note();
    			}				
    		});
    		
    		JFileChooser chooser=new JFileChooser();			
    		openItem.addActionListener(new ActionListener() {//打开
    			public void actionPerformed(ActionEvent e) {
    				File file=null;					
    				if(e.getSource()==openItem) {
    					area.setText("");												
    					chooser.showOpenDialog(frame);
    					file=chooser.getSelectedFile();
    					if(file!=null) {
    						try {
    							Scanner scan=new Scanner(new FileInputStream(file));
    							scan.useDelimiter("
    ");
    							while(scan.hasNext()) {
    								area.append(scan.next ());
    								area.append("
    ");
    							}
    							scan.close();
    						} catch (FileNotFoundException e1) {
    							e1.printStackTrace();
    						}	
    					}
    				}				
    			}				
    		});
    		
    		saveItem.addActionListener(new ActionListener() {//另存为
    			public void actionPerformed(ActionEvent e) {
    				File file;
    				chooser.showSaveDialog(frame);
    				file=chooser.getSelectedFile();
    				if(!file.exists()) {
    					JOptionPane.showMessageDialog(null, "创建文件"+file.getName());
    					try {
    						file.createNewFile();
    					} catch (IOException e1) {
    						e1.printStackTrace();
    					}
    				}
    				try {
    					PrintStream out=new PrintStream(new FileOutputStream(file));
    					out.print(area.getText());
    					out.close();
    				} catch (FileNotFoundException e1) {
    					e1.printStackTrace();
    				}
    			}
    		});
    		
    		closeItem.addActionListener(new ActionListener() {//关闭
    			public void actionPerformed(ActionEvent e) {
    				if(e.getSource()==closeItem)
    					System.exit(1);
    			}				
    		});
    		
    		cx.addActionListener(new ActionListener() {//撤销
                public void actionPerformed(ActionEvent e) {
                	um=new UndoManager();
                	if(e.getSource()==cx)
                		if (um.canUndo()) 
                		{
                			um.undo();
                		}
                }   
            });
    		
    		zt.addActionListener(new ActionListener() {//粘贴
                public void actionPerformed(ActionEvent e) {
                	if(e.getSource()==zt) {
                		 area.paste();
                }	            	
             }
         });
    		
    		fz.addActionListener(new ActionListener() {//复制
                public void actionPerformed(ActionEvent e) {
                	if(e.getSource()==fz)
                	area.copy();
                }	            	 
            });
    		
    		jq.addActionListener(new ActionListener() {//剪切
                public void actionPerformed(ActionEvent e) {
                	if(e.getSource()==jq)
                		area.cut();
                }
            });
    		
    		sc.addActionListener(new ActionListener() {//删除
                public void actionPerformed(ActionEvent e) {
                	if(e.getSource()==sc)
                	{
                		String str=area.getSelectedText();
                	  String newStr = area.getText().replace(str, "");
                      area.setText(newStr);
                	}	            	  
                }   
            });
    		
    		frame.setLocation(350, 184);
    		frame.setSize(600,400);
    		frame.setVisible(true);
    		area.setEditable(true);
    	}	
    }
    

    实验结果


    这段代码的撤销功能还没实现,其余的像复制、粘贴、剪切都实现了,其实也不难,直接调用相应的方法。

    JDBC

    JDBC是Java提供的一套数据库操作标准。JDBC提供了一种与平台无关的用于执行SQL语言的标准java API,可以方便地实现多种关系型数据库地统一操作。

    MySQL数据库

    MySQL常用命令

    1.连接MySQL数据库

    mysql-u用户名-p密码
    

    2.创建数据库

    创建数据库:CREATE DATABASE 数据库名称;
    删除数据库:DROP DATABSE 数据库库名称;
    

    3.使用数据库

    USE 数据库名称;
    

    4.创建数据库表

    CREATE TABLE 表名称(
        字段名称1 字段类型 [DEFAULT 默认值][约束],
        字段名称2 字段类型 [DEFAULT 默认值][约束],
        ·····,
        字段名称n 字段类型 [DEFAULT 默认值][约束],
    );
    

    5.删除数据库表

    DROP TABLE 表名称;
    

    6.查看表结构

    DESC 表名称;
    

    7.查看数据库信息

    查看全部数据库:SHOW DATABASES;
    看一个数据库的全部表:SHOW TABLES;
    

    MySQL中的数据类型



    增加数据

    INSERT INTO 表名称[(字段1,字段2,字段3,····字段n)]VALUSE(值1,值2,值3···值n);
    

    删除数据

    DELETE FROM [删除条件];
    

    更新数据

    UPDATE 表名称 SET 字段1=值1,···字段n=值1[WHERE 更新条件];
    

    查询数据
    简单查询语句

    SELECT{*|column alias}
    FROM 表名称 别名
    [WHERE condition(s)];
    

    查询全部数据

    SELSCT *FROM user;
    

    Connection接口的常用方法


  • 相关阅读:
    python---RabbitMQ
    Apicloud学习第四天
    Apicloud学习第三天——获取云数据库的数据方法
    APICloud学习第二天——操作云数据库
    font-spider问题【已解决】
    Apicloud学习第一天
    sass补充(2019-3-9)
    sublime中编译的sass如何改变css输出风格?【这里有答案】
    SEO总结
    Sass学习第一天
  • 原文地址:https://www.cnblogs.com/jk-liulei/p/11959475.html
Copyright © 2011-2022 走看看