记事本写java_用java实现简单记事本的编写

本文档展示了如何使用Java编程语言实现一个简单的记事本应用程序。程序包括文本区域、菜单栏,支持打开、保存和退出功能。通过JTextArea、JFileChooser等组件,实现了文件的读写操作。
摘要由CSDN通过智能技术生成
import javax.swing.*;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.File;

import java.io.FileInputStream;

import java.io.PrintStream;

/**

* Created by Administrator on 2016/3/9.

*/

//继承JFrame

public class Notepad extends JFrame {

//声明文本域

private JTextArea area;

//开发构造

public Notepad(){

area=new JTextArea();

//放到中间

//声明比一个容器

Container con=getContentPane();

con.setLayout(new BorderLayout());

con.add(new JScrollPane(area));

//添加菜单栏

JMenuBar bar=new JMenuBar();

//添加菜单

JMenu menu =new JMenu("文件(F)");

//设置快捷建

menu.setMnemonic('F');

//添加菜单项

JMenuItem item =new JMenuItem("保存(S)");

item.setMnemonic('S');

item.addActionListener(save);

JMenuItem item1=new JMenuItem("打开(O)");

item1.setMnemonic('O');

item1.addActionListener(open);

JMenuItem item2=new JMenuItem("退出(T)");

item2.setMnemonic('T');

item2.addActionListener(exit);

//设置他们之间的关系

menu.add(item);

menu.add(item1);

//设置个线

menu.addSeparator();

menu .add(item2);

bar.add(menu);

//将菜单栏添加到界面上

setJMenuBar(bar);

//设置大小

setSize(500, 600);

//设置可以关闭

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//设置显示,必须要放到最后

setVisible(true);

}

public static void main(String[] args) {

new Notepad();

}

//退出事件

private ActionListener exit=new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

System.out.println("退出......");

Notepad.this.dispose();

}

};

//保存事件

private ActionListener save =new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// System.out.println("saving.......");

JFileChooser chooser=new JFileChooser();

int op=chooser.showSaveDialog(Notepad.this);

//判断用户是否选择了保存

if (op==JFileChooser.APPROVE_OPTION){

//获取用户选择的文件

File file=chooser.getSelectedFile();

//获得area的数据

String txt =area.getText();

txt=txt.replaceAll("\n","\r\n");

try {

PrintStream ps = new PrintStream(file);

ps.print(txt);

ps.close();

}catch (Exception ee){

throw new RuntimeException(ee);

}

}

}

};

//打开事件

private ActionListener open=new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// System.out.println("opening......");

JFileChooser chooser=new JFileChooser();

int oo=chooser.showOpenDialog(null);

if (oo==JFileChooser.APPROVE_OPTION){

//获取用户选择的文件

File file=chooser.getSelectedFile();

//把获得文件数据转化到area中显示

try {

FileInputStream fis = new FileInputStream(file);

byte [] bytes=new byte[1024];

int len=0;

while ((len=fis.read(bytes))!=-1){

String newstring=new String(bytes,0,len);

area.append(newstring);

}

fis.close();

}catch (Exception eee){

throw new RuntimeException(eee);

}

}

}

};

}

以上就是简单记事本的java语言实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值