功能:实现了新建,打开,保存,退出,复制,剪切,粘贴等功能

效果图:

aaarticlea/png;base64,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" alt="" />

代码:

/**
*
*/
package com.niit.javagui; import java.awt.Color;
import java.awt.MenuBar;
import java.awt.event.ActionEvent;
import java.awt.event.InputEvent;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyEvent;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream; import javax.swing.AbstractAction;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextPane;
import javax.swing.KeyStroke;
import javax.swing.text.DefaultStyledDocument; /**
* @author: Annie
* @date:2016年5月30日
* @description:简单的记事本
*/
public class Notepad extends JFrame {
public static void main(String[] args) {
new Notepad();
} JTabbedPane tabbedPane;
JPanel jp1,jp2,jp3;
JMenuBar menuBar;
JMenu filemenu,editMenu,formatMenu,helpmenu,checkMenu;
JMenuItem itemNew,itemOpen,itemSave,itemSaveAs,itemSet,itemPrint,itemExit,
itemAutomatic,itemFont,itemaStatusBar,itemaCheckHelp,itemAbout,itemCopy,itemCut,itemPast;
JTextPane textpane;
JFileChooser fileChooser;
public Notepad(){
setVisible(true);
setSize(400,400);
setTitle("记事本");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
instantiationObject();
keyWord();
addFunction(); } /**
* 实例化对象方法
* */
public void instantiationObject(){
jp1 = new JPanel();
jp2 = new JPanel();
jp3 = new JPanel();
tabbedPane = new JTabbedPane(JTabbedPane.BOTTOM);
menuBar = new JMenuBar();
filemenu = new JMenu("文件(F)");
editMenu = new JMenu("编辑(E)");
formatMenu = new JMenu("格式(o)");
checkMenu = new JMenu("查看(V)");
helpmenu = new JMenu("帮助(H)"); itemNew = new JMenuItem(new newAction());
itemOpen = new JMenuItem(new OpenAction());
itemSave = new JMenuItem(new SaveAction());
itemSaveAs = new JMenuItem("另存为");
itemSet = new JMenuItem("页面设置");
itemPrint = new JMenuItem("打印");
itemExit = new JMenuItem(new ExistAction()); itemCopy = new JMenuItem(new CopyAction());
itemPast = new JMenuItem(new PasteAction());
itemCut = new JMenuItem(new CutAction()); itemAutomatic = new JMenuItem("自动转行");
itemFont = new JMenuItem("字体"); itemaStatusBar = new JMenuItem("状态栏"); itemaCheckHelp = new JMenuItem("查看帮助");
itemAbout = new JMenuItem("关于记事本"); textpane = new JTextPane(); //文本窗格,编辑窗口 fileChooser = new JFileChooser();//文件选择器 } /**
* 添加组件方法
* */
public void addFunction(){
setJMenuBar(menuBar); menuBar.add(filemenu);
menuBar.add(editMenu);
menuBar.add(formatMenu);
menuBar.add(checkMenu);
menuBar.add(helpmenu); filemenu.add(itemNew);
filemenu.add(itemOpen);
filemenu.add(itemSave);
filemenu.add(itemSaveAs);
filemenu.addSeparator();
filemenu.add(itemSet);
filemenu.add(itemPrint);
filemenu.add(itemExit); editMenu.add(itemCopy);
editMenu.add(itemPast);
editMenu.add(itemCut); formatMenu.add(itemAutomatic);
formatMenu.add(itemFont); checkMenu.add(itemaStatusBar); helpmenu.add(itemaCheckHelp);
helpmenu.add(itemAbout); add(textpane); } /**
* 实例化对象方法
* */
public void keyWord(){
itemNew.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));
itemOpen.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
itemSave.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
itemSaveAs.setAccelerator(KeyStroke.getKeyStroke('A'));
itemSet.setAccelerator(KeyStroke.getKeyStroke('U'));
itemPrint.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
itemExit.setAccelerator(KeyStroke.getKeyStroke('X')); itemAutomatic.setAccelerator(KeyStroke.getKeyStroke('W'));
itemFont.setAccelerator(KeyStroke.getKeyStroke('F')); itemaStatusBar.setAccelerator(KeyStroke.getKeyStroke('S')); itemaCheckHelp.setAccelerator(KeyStroke.getKeyStroke('H'));
itemAbout.setAccelerator(KeyStroke.getKeyStroke('A'));
} class newAction extends AbstractAction{
public newAction(){
super("新建");
}
@Override
public void actionPerformed(ActionEvent e) {
textpane.setDocument(new DefaultStyledDocument()); } } class OpenAction extends AbstractAction{
public OpenAction() {
super("打开");
}
@Override
public void actionPerformed(ActionEvent e) {
int i = fileChooser.showOpenDialog(Notepad.this); // 显示打开文件选择对话框
if(i == JFileChooser.APPROVE_OPTION){//点击对话框中打开选项
File f = fileChooser.getSelectedFile();//得到选择的文件
try {
InputStream is = new FileInputStream(f);
textpane.read(is, "HTMLDocument"); //读入文件到文本窗格 } catch (Exception e1) {
e1.printStackTrace();
}
} } } class SaveAction extends AbstractAction{
public SaveAction() {
super("保存");
}
@Override
public void actionPerformed(ActionEvent e) {
int i =fileChooser.showSaveDialog(Notepad.this);
if(i == JFileChooser.APPROVE_OPTION ){
/* 1.得到选择的文件 2.得到输出流 3.写入 */
File f =fileChooser.getSelectedFile();
try {
OutputStream out = new FileOutputStream(f);
out.write(textpane.getText().getBytes());
} catch (Exception e1) {
e1.printStackTrace();
}
}
} } class ExistAction extends AbstractAction{
public ExistAction(){
super("退出");
}
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0); }
} class CutAction extends AbstractAction { //剪切命令
public CutAction() {
super("剪切");
}
public void actionPerformed(ActionEvent e) {
textpane.cut(); //调用文本窗格的剪切命令
}
} class CopyAction extends AbstractAction { //拷贝命令
public CopyAction() {
super("复制");
}
public void actionPerformed(ActionEvent e) {
textpane.copy(); //调用文本窗格的拷贝命令
}
} class PasteAction extends AbstractAction { //粘贴命令
public PasteAction() {
super("粘贴");
}
public void actionPerformed(ActionEvent e) {
textpane.paste(); //调用文本窗格的粘贴命令
}
} }

java记事本1.2版的更多相关文章

  1. 【Java】-NO.16.EBook.4.Java.1.007-【疯狂Java讲义第3版 李刚】- Java基础类

    1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.007-[疯狂Java讲义第3版 李刚]-  Java基础类 Style:EBook Series:J ...

  2. 0038 Java学习笔记-多线程-传统线程间通信、Condition、阻塞队列、《疯狂Java讲义 第三版》进程间通信示例代码存在的一个问题

    调用同步锁的wait().notify().notifyAll()进行线程通信 看这个经典的存取款问题,要求两个线程存款,两个线程取款,账户里有余额的时候只能取款,没余额的时候只能存款,存取款金额相同 ...

  3. Java部分总结图片版2(已加上原图链接!!!)

    Java部分总结图片版2(加上原图链接)

  4. Java部分总结图片版(已经加上原图链接下载!!!)

    Java基础知识图片版(原图下载链接)

  5. Java、C#双语版HttpHelper类

    Java.C#双语版HttpHelper类(解决网页抓取乱码问题)   在做一些需要抓取网页的项目时,经常性的遇到乱码问题.最省事的做法是去需要抓取的网站看看具体是什么编码,然后采用正确的编码进行解码 ...

  6. 阿里官方Java代码规范标准《阿里巴巴Java开发手册 终极版 v1.3.0》

    终极版 v1.3.0 2017年开春之际,阿里诚意献上重磅大礼:<阿里巴巴Java开发手册>,首次公开阿里官方Java代码规范标准.这套Java统一规范标准将有助于提高行业编码规范化水平, ...

  7. idea编辑项目出现【Information:java: javacTask: 源发行版 7 需要目标发行版 1.7】

    在编译项目时候出现问题: Information:java: javacTask: 源发行版 7 需要目标发行版 1.7 解决方案:按着图片操作,这几个地方设置的一样就可以了

  8. 【Java】-NO.16.EBook.4.Java.1.011-【疯狂Java讲义第3版 李刚】- AWT

    1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.011-[疯狂Java讲义第3版 李刚]-  AWT Style:EBook Series:Java ...

  9. 【Java】-NO.16.EBook.4.Java.1.012-【疯狂Java讲义第3版 李刚】- Swing

    1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.011-[疯狂Java讲义第3版 李刚]-  Swing Style:EBook Series:Jav ...

随机推荐

  1. ubuntu下统计目录及其子目录文件个数

    查看某目录下文件的个数 ls -l |grep "^-"|wc -l 或 find ./company -type f | wc -l 查看某目录下文件的个数,包括子目录里的. l ...

  2. Linux - 简明Shell编程09 - 重定向(Redirection)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash pwd > 1.log ...

  3. leetcode range sum query

    Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive ...

  4. JPA的学习

    JPA 1.实体注解 @Entity主键注解  @Id   主键策略@GeneratedValue(strategy=GenerationType.AUTO[IDENTITY,SEQUENCE,TAB ...

  5. [H5]range对象的clone方法

    clone:range对象的克隆; <body> <p id="p">这是一段文字</p> <button onclick="b ...

  6. HAOI2015 树上操作

    HAOI2015 树上操作 题目描述 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个操作,分为三种:操作 1 :把某个节点 x 的点权增加 a .操作 2 :把某个节点 x 为根 ...

  7. How to customize the console applicaton

    下面是如何最大化console和改变其显示的字体颜色的代码,顺便包含了计时代码(帮助做性能分析): class Program { [DllImport("kernel32.dll" ...

  8. ueditor单独调用上传附件和图片的功能

    javascript富文本编辑器使我们添加.编辑网站中的文章更加方便和容易.这些富文本编辑器提供了所见即所得(What You See Is What You Get - WYSIWYG)的功能,可以 ...

  9. Node.js之断言处理

    Node.js之断言处理 在Node.js中,可以利用assert模块进行断言处理,如果判断错误,则抛出AssertError异常 1 equal方法与notEqual方法 equal方法用于判断两个 ...

  10. 优化testng报告

    背景 搞过testng的同学都知道,testng自带的报告非常丑,而且有些字段的展示很不人性化,所以需要优化下报告 解决方案 尝试过一下开源的jar包,如ReportNG,奈何和目前使用的allure ...