⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jnotepadui.java

📁 一个java记事本无错源代码 一个java记事本无错源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/*
 * JNotePadUI.java
 *
 * Created on 2007年11月18日, 上午11:08
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package jnotepadui;
import java.awt.BorderLayout;
import java.awt.Color;

import java.awt.Component;
import java.awt.Container;
import java.awt.Font;
import java.awt.GraphicsEnvironment;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

import javax.swing.BorderFactory;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JToggleButton;
import javax.swing.JToolBar;
import javax.swing.KeyStroke;
import javax.swing.ScrollPaneConstants;
import javax.swing.SwingConstants;

import java.lang.Object;
import java.lang.String;
import javax.swing.plaf.metal.MetalIconFactory;

public class JNotePadUI extends JFrame{
    private JMenuItem menuOpen;
    private JMenuItem menuSave;
    private JMenuItem menuSaveAs;
    private JMenuItem menuClose;
    
    private JMenuItem menuColor;
    private JMenuItem menuCut;
    private JMenuItem menuCopy;
    private JMenuItem menuPaste;
    private JMenuItem menuSelectAll;
    
    private JMenuItem menuFind;
    private JMenuItem menuReplace;
    private JMenuItem menuFindNext;
    private JMenuItem menuCancel;
    
    private JMenu fileMenu;
    private JMenu editMenu;
    private JMenu operateMenu;
    private JMenu aboutMenu;
    
    
    
    private JMenuItem menuAbout;


    private JTextArea textArea;

    private JPopupMenu popUpMenu;

    private String lineSeparator;

    private Color color;

    private Object buttons;

    private JTextField tfind, treplace;
    private String strFind, strReplace;
    private int txtPlace, txtLen, strNext;

   
    
    public JNotePadUI() {
          super("新建文本文件");
          setUpUIComponent();
          setUpEventListener();
          setVisible(true);
    }
    private void setUpUIComponent(){
          setSize(640,480);
            //
       
       JToolBar toolbar = new JToolBar();
       JButton [] buttons=new JButton[]{
         new JButton("", new ImageIcon("copy.gif")),
         new JButton("", new ImageIcon("cut.jpg")),
         new JButton("", new ImageIcon("paste.jpg"))
     };
       buttons[0].setToolTipText("复制");
       buttons[1].setToolTipText("剪切"); 
       buttons[2].setToolTipText("粘贴");
       toolbar.add(buttons[0]);
       toolbar.add(buttons[1]);
       toolbar.add(buttons[2]);
       
        buttons[0].addActionListener(
             new ActionListener(){
               public void actionPerformed(ActionEvent e){
                  copy();
                   }
                }
        );
             buttons[1].addActionListener(
             new ActionListener(){
               public void actionPerformed(ActionEvent e){
                  cut();
                   }
                }
        );
          buttons[2].addActionListener(
             new ActionListener(){
               public void actionPerformed(ActionEvent e){
                     paste();
                   }
                }
        );
   
    Container contentPane = getContentPane();
    contentPane.add(toolbar, BorderLayout.NORTH);  
    
    JMenuBar menuBar = new JMenuBar(); 
   
           fileMenu = new JMenu(" 文件");
           menuOpen = new JMenuItem("打开");
           //
          menuOpen.setAccelerator(
              KeyStroke.getKeyStroke(
                     KeyEvent.VK_O,
                     InputEvent.CTRL_MASK));
         menuSave = new JMenuItem("保存");
           //
          
          menuSave.setAccelerator(
              KeyStroke.getKeyStroke(
                     KeyEvent.VK_S,
                     InputEvent.CTRL_MASK));
         menuSaveAs = new JMenuItem("另保存");
         menuClose = new JMenuItem("关闭");
        
         menuClose.setAccelerator(
              KeyStroke.getKeyStroke(
                     KeyEvent.VK_Q,
                     InputEvent.CTRL_MASK));



         fileMenu.add(menuOpen);
         fileMenu.addSeparator();
         fileMenu.add(menuSave);
         fileMenu.add(menuSaveAs);
         fileMenu.addSeparator();
         fileMenu.add(menuClose);


          editMenu = new JMenu("编辑");
          menuColor = new JMenuItem("color");
          menuCut = new JMenuItem("剪切");
          menuCut.setAccelerator(
              KeyStroke.getKeyStroke(
                     KeyEvent.VK_X,
                     InputEvent.CTRL_MASK));
          menuCopy = new JMenuItem("复制");
          menuCopy.setAccelerator(
              KeyStroke.getKeyStroke(
                     KeyEvent.VK_C,
                     InputEvent.CTRL_MASK));
          menuPaste = new JMenuItem("粘贴");
          menuPaste.setAccelerator(
              KeyStroke.getKeyStroke(
                     KeyEvent.VK_V,
                     InputEvent.CTRL_MASK));
         menuSelectAll = new JMenuItem("全选");
         menuSelectAll.setAccelerator(
              KeyStroke.getKeyStroke(
                     KeyEvent.VK_A,
                     InputEvent.CTRL_MASK));
        operateMenu = new JMenu("操作");

       editMenu.add(menuColor);
       editMenu.add(menuCut);
       editMenu.add(menuCopy);
       editMenu.add(menuPaste);
       editMenu.add(menuSelectAll);
       editMenu.add(operateMenu);
       
       
       menuFind = new JMenuItem("查找");
       menuReplace = new JMenuItem("替换");
       menuFindNext = new JMenuItem("查找下一个");
       menuCancel = new JMenuItem("撤消");   
       
       operateMenu.add(menuFind);
       operateMenu.add(menuReplace);
       operateMenu.add(menuFindNext);
       operateMenu.add(menuCancel);
          //
        aboutMenu = new JMenu("关于");
        menuAbout = new JMenuItem("关于JNotePad");
        aboutMenu.add(menuAbout);


        menuBar.add(fileMenu);
        menuBar.add(editMenu);
        menuBar.add(aboutMenu);
        
        setJMenuBar(menuBar);
            //
        textArea = new JTextArea();
        textArea.setFont(new Font("宋体",Font.PLAIN,16));
        textArea.setLineWrap(true);
        JScrollPane panel = new JScrollPane
(textArea,
 ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
 ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);



 contentPane.add(panel,BorderLayout.CENTER);
            //
 JLabel stateBar = new JLabel("未修改");
 stateBar.setHorizontalAlignment
(SwingConstants.LEFT);
 stateBar.setBorder(
     BorderFactory.createEtchedBorder());
 contentPane.add(stateBar,BorderLayout.SOUTH);
 popUpMenu = editMenu.getPopupMenu();
    }
    private void setUpEventListener(){
          addWindowListener(
        new WindowAdapter(){
        public void windowClosing(WindowEvent e){
        closeFile();
           }
        }
      );
       menuOpen.addActionListener(
             new ActionListener(){
               public void actionPerformed(ActionEvent e){
                  openFile();
                   }
                }
        );
        menuSave.addActionListener(
             new ActionListener(){
               public void actionPerformed(ActionEvent e){
                  saveFile();
                   }
                }
        );
        menuSaveAs.addActionListener(
             new ActionListener(){
               public void actionPerformed(ActionEvent e){
                  saveFileAs();
                   }
                }
        );
        menuPaste.addActionListener(
             new ActionListener(){
               public void actionPerformed(ActionEvent e){
                     paste();
                   }
                }
        );
        menuClose.addActionListener(
             new ActionListener(){

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -