zoukankan      html  css  js  c++  java
  • 第十三周课程总结

    记事本部分功能实现:

    代码:

    package zy123;
    
    public class Text {
    
    	public static void main(String[] args) {
    		 new TextPad();
    	}
    
    }
    
    package zy123;
    
    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.FileOutputStream;
    import java.io.IOException;
    import java.io.PrintStream ;
    
    import javax.swing.*;
    
    public class TextPad  implements ActionListener{
    	JFrame frame;
    	JMenuBar bar;
    	JMenu fileMenu,editMenu;
    	JMenuItem newItem, openItem, saveItem, saveasItem, closeItem;
        ImageIcon newIcon, openIcon, saveIcon, saveasIcon, closeIcon;
        JScrollPane scroll;
        JTextArea area;
        JFileChooser chooser;
        File file;
        
        public TextPad() {
        	frame = new JFrame("记事本");
            bar = new JMenuBar();
            fileMenu = new JMenu("文件");
            editMenu = new JMenu("编辑");
            newIcon = new ImageIcon("d:" + File.separator + "Textpad" + File.separator + "1.jpg");
            openIcon = new ImageIcon("d:" + File.separator + "Textpad" + File.separator + "2.jpg");
            saveIcon = new ImageIcon("d:" + File.separator + "Textpad" + File.separator + "3.jpg");
            saveasIcon = new ImageIcon("d:" + File.separator + "Textpad" + File.separator + "4.jpg");
            closeIcon = new ImageIcon("d:" + File.separator + "Textpad" + File.separator + "5.jpg");
            newItem = new JMenuItem("新建(N)", newIcon);
            openItem = new JMenuItem("打开(O)", openIcon);
            saveItem = new JMenuItem("保存(S)", saveIcon); 
            saveasItem = new JMenuItem("另存为(A)", saveasIcon);
            closeItem = new JMenuItem("退出(x)",closeIcon);
            area=new JTextArea();
            scroll=new JScrollPane(area);
            
            newItem.setMnemonic(KeyEvent.VK_N);
            openItem.setMnemonic(KeyEvent.VK_O);
            saveItem.setMnemonic(KeyEvent.VK_S);
            saveasItem.setMnemonic(KeyEvent.VK_A);
            closeItem.setMnemonic(KeyEvent.VK_X);
            
            newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_DOWN_MASK));
            openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.CTRL_DOWN_MASK));
            saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_DOWN_MASK));
            saveasItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.CTRL_DOWN_MASK));
            closeItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_DOWN_MASK));
    
            fileMenu.add(newItem);
            fileMenu.add(openItem);
            fileMenu.add(saveItem);
            fileMenu.add(saveasItem);
            fileMenu.addSeparator();
            fileMenu.add(closeItem);
            
            newItem.addActionListener(this);
            openItem.addActionListener(this);
            saveItem.addActionListener(this);
            saveasItem.addActionListener(this);
            closeItem.addActionListener(this);
            
            bar.add(fileMenu);
            bar.add(editMenu);
            frame.setJMenuBar(bar);
            frame.add(scroll);
            frame.setSize(600, 400);
            frame.setVisible(true);
    
        }
        
        public void actionPerformed(ActionEvent event) {
            
            Object obj=event.getSource();
            if(obj instanceof JMenuItem) {
                JMenuItem item=(JMenuItem) obj;
                if(item==newItem) {
                    new TextPad();
                    
                }else if(item==openItem) {
                    chooser=new JFileChooser();
                    chooser.showOpenDialog(null);
                    file=chooser.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) {
                      if(file!=null) {
                          try {
                        	  
                               PrintStream out = new PrintStream(new FileOutputStream(file));
                              out.print(this.area.getText());
                              out.close();
                          } catch (FileNotFoundException e) {
                              
                              e.printStackTrace();
                          }
                      }
                      
                  }else if(item == saveasItem) {
                      chooser.showSaveDialog(null);
                      file = chooser.getSelectedFile();
                      if(!file.exists()) {
                          try {
                        	  
                              if(!file.exists()) {
                              file.createNewFile();
                              }
                              FileOutputStream fos=new FileOutputStream(file);
                              byte[] b = area.getText().getBytes();
                              fos.write(b);
                              fos.close();
                          } catch (IOException e) {
                              
                              e.printStackTrace();
                          
                      }
                  }
              }else if(item == closeItem) {
                  System.exit(1);
              }
           }
          
          }
     }
                    
    

    运行图:

                按照老师上课的讲解以及代码照着写的 相当于自己重新复习了一遍 也更有了理解
    

    本周课程总结:

    事件处理监听处理

    菜单组件JMenu JMenuBar JMenuItem




    图型界面内容大致就快已经结束了 又学到很多新的知识和语法用法

  • 相关阅读:
    csu 1965
    csu 1947 三分
    Codeforces 336C 0-1背包
    POJ 1743 后缀数组
    POJ 2774 后缀数组
    UVA 12333 大数,字典树
    POJ 2942 圆桌骑士
    POJ 1503 大整数
    POJ 2342 树的最大独立集
    POJ 3088 斯特林
  • 原文地址:https://www.cnblogs.com/clearlove1215/p/11918168.html
Copyright © 2011-2022 走看看