java 仿照windows的记事本_仿windows记事本的java程序

这篇博客展示了作者使用Java编程语言实现的一个类似Windows记事本的程序,涵盖了文件操作、字符串处理、基本界面设计及事件监听等核心功能。
摘要由CSDN通过智能技术生成

学习java有两个月了,做个记事本做个总结,程序实现了windows记事本的大多数功能,涉及了文件操作,字符串操作,简单的界面设计,与事件监听。

/Note.java

package heaven;

import java.awt.BorderLayout;

import java.awt.Container;

import java.awt.FlowLayout;

import java.awt.Font;

import java.awt.Toolkit;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.InputEvent;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

import java.awt.event.KeyEvent;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

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 java.util.Date;

import java.text.SimpleDateFormat;

import javax.swing.JComboBox;

import javax.swing.JDialog;

import javax.swing.JFileChooser;

import javax.swing.JFrame;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JOptionPane;

import javax.swing.JPopupMenu;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import javax.swing.KeyStroke;

public class Note {

static Window win;

public static void main(String[] args) {

win=new Window("记事本");

}

}

class Window extends JFrame implements ActionListener{

JMenuBar menubar;

JMenu menu1,menu2,menu3,menu4;

JPopupMenu menum;

JMenuItem

itemCopy,itemCut,itemPaste,itemSelectAll,itemDel,itemDate;

JMenuItem

itemCreat,itemOpen,itemSave,itemClose;

JMenuItem

itemCopym,itemCutm,itemPastem,itemSelectAllm,itemDelm;

JMenuItem itemFont,itemHelp;

JTextArea text1,text2;

int n;

JFileChooser fileChooser;

Date nowTime;

Window(String s){

setTitle(s);

setSize(300,400);

setLocation(120,120);

setVisible(true);

fileChooser=new

JFileChooser("c:/");

menubar=new JMenuBar();

menu1=new JMenu("文件");

itemCreat=new

JMenuItem("新建");

itemOpen=new

JMenuItem("打开");

itemSave=new

JMenuItem("保存");

itemClose=new

JMenuItem("退出");

itemCreat.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));

menu1.add(itemCreat);

menu1.add(itemOpen);

menu1.add(itemSave);

menu1.add(itemClose);

menubar.add(menu1);

menu2=new JMenu("编辑");

itemCopy=new

JMenuItem("复制");

itemCut=new

JMenuItem("剪贴");

itemPaste=new

JMenuItem("粘贴");

itemSelectAll=new

JMenuItem("全选");

itemDel=new

JMenuItem("删除");

itemDate=new

JMenuItem("时间/日期");

itemCopy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));

itemCut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));

itemPaste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));

itemSelectAll.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK));

itemDel.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L,InputEvent.CTRL_MASK));

itemDate.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D,InputEvent.CTRL_MASK));

menu2.add(itemCopy);

menu2.add(itemCut);

menu2.add(itemPaste);

menu2.add(itemSelectAll);

menu2.add(itemDel);

menu2.add(itemDate);

menubar.add(menu2);

menu3=new JMenu("格式");

itemFont=new

JMenuItem("字体");

itemFont.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK));

menu3.add(itemFont);

menubar.add(menu3);

menu4=new JMenu("帮助");

itemHelp=new

JMenuItem("关于记事本");

itemHelp.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,InputEvent.CTRL_MASK));

menu4.add(itemHelp);

menubar.add(menu4);

setJMenuBar(menubar);

itemCopym=new

JMenuItem("复制");

itemCutm=new

JMenuItem("剪贴");

itemPastem=new

JMenuItem("粘贴");

itemSelectAllm=new

JMenuItem("全选");

itemDel=new

JMenuItem("删除");

menum=new JPopupMenu();

menum.add(itemCopym);

menum.add(itemCutm);

menum.add(itemPastem);

menum.add(itemSelectAllm);

menum.add(itemDel);

text1=new JTextArea();

text1.setLineWrap(true);

text1.setWrapStyleWord(false);

add(new

JScrollPane(text1),BorderLayout.CENTER);

validate();

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

text1.addMouseListener(new

MouseAdapter(){

public void

mousePressed(MouseEvent e){

if(e.getModifiers()==InputEvent.BUTTON3_MASK)

menum.show(text1,e.getX(),e.getY());

}

});

itemCopy.addActionListener(this);

itemCut.addActionListener(this);

itemPaste.addActionListener(this);

itemSelectAll.addActionListener(this);

itemDel.addActionListener(this);

itemDate.addActionListener(this);

itemCopym.addActionListener(this);

itemCutm.addActionListener(this);

itemPastem.addActionListener(this);

itemSelectAllm.addActionListener(this);

itemDel.addActionListener(this);

itemCreat.addActionListener(this);

itemOpen.addActionListener(this);

itemSave.addActionListener(this);

itemClose.addActionListener(this);

itemFont.addActionListener(new

ziti());

itemHelp.addActionListener(this);

}

public void actionPerformed(ActionEvent e){

if(e.getSource()==itemCopy)

text1.copy();

else

if(e.getSource()==itemCut)

text1.cut();

else

if(e.getSource()==itemPaste)

text1.paste();

else

if(e.getSource()==itemSelectAll)

text1.selectAll();

else

if(e.getSource()==itemDel)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值