package com.test2;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import java.awt.*;
import java.awt.event.*;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import javax.swing.*;
import javax.swing.plaf.FileChooserUI;
/**
* 编写一个简单的记事本(界面加功能)
*
* @author Administrator
*
*/
public class NotePad extends JFrame implements ActionListener{
//定义所需要的组件
JTextArea jta=null;
//定义一个菜单条
JMenuBar jmb=null;
//定义一个菜单
JMenu jm=null;
//定义子菜单
JMenuItem jmi1=null;
JMenuItem jmi2=null;
public static void main(String[] args) {
// TODO Auto-generated method stub
NotePad nt=new NotePad();
}
public NotePad()
{//把组件添加到窗体上
jta =new JTextArea();
jmb=new JMenuBar();
this.add(jta);
this.setJMenuBar(jmb);
//设置窗体的属性
this.setTitle("简单记事本");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(400,300);
this.setVisible(true);
//把菜单添加进菜单条
jm=new JMenu("文件");
jm.setMnemonic('f');
jmb.add(jm);
//把子菜单加入至菜单
jmi1=new JMenuItem("打开");
jmi1.setActionCommand("open");
jmi2=new JMenuItem("保存");
jmi2.setActionCommand("save");
jm.add(jmi1);
jm.add(jmi2);
//为两个子菜单注册事件监听
jmi1.addActionListener(this);
jmi2.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
//对点击了打开进行处理
if(e.getActionCommand().equals("open"))
{//创建一个文件选择组件
JFileChooser jfc1=new JFileChooser();
//设置文件选择器的名字
jfc1.setDialogTitle("请选择文件.....");
//设置文件选择组件的类型(打开类型)
jfc1.showOpenDialog(null);
//显示该组件
jfc1.setVisible(true);
//获取选择文件的绝对路径
String s;
s=jfc1.getSelectedFile().getAbsolutePath();
//将该文件显示到记事本上
BufferedReader br=null;
FileReader fr=null;
try {
//创建一个带缓冲的文件读取对象
fr=new FileReader(s);
br=new BufferedReader(fr);
String text="";
String m=null;
//循环读取文件
while((m=br.readLine())!=null)
{
text+=m+"\r\n";
}
//将读取的结果打印到记事本上面
this.jta.setText(text);
} catch (Exception e2) {
e2.printStackTrace();
}finally{//关掉打开的文件
try {
br.close();
fr.close();
} catch (Exception e3) {
e3.printStackTrace();
}
}
}
else if(e.getActionCommand().equals("save"))
{//创建一个文件选择组件
JFileChooser jfc=new JFileChooser();
//设置文件选择器的名字
jfc.setDialogTitle("另存为");
//设置文件选择组件的类型(保存类型)
jfc.showSaveDialog(null);
//显示该组件
jfc.setVisible(true);
//获取选择文件的绝对路径
String filename;
filename=jfc.getSelectedFile().getAbsolutePath();
//将记事本内的文本保存至该路径
BufferedWriter bw=null;
FileWriter fw=null;
try {
//创建文件输出文件
fw=new FileWriter(filename);
bw=new BufferedWriter(fw);
//获取文本
String outtext="";
outtext=this.jta.getText();
//输出文本
fw.write(outtext);
} catch (Exception e2) {
e2.printStackTrace();
}finally{
//关闭打开的输出文件
try {
bw.close();
fw.close();
} catch (Exception e3) {
e3.printStackTrace();
}
}
}
}
}
分享到:
相关推荐
java 编写的简易记事本 java 编写的简易记事本 java 编写的简易记事本 java 编写的简易记事本 java 编写的简易记事本
用java编写的一个简易记事本,基本的功能都有
用java语言编写的记事本,能实现微软自带的所有功能,并且可以变换背景颜色,结课实训时编写的,代码通俗易懂
用java写的一个 Swing 界面的 记事本,拥有文件打开 保存等基本功能,还有查找替换 以及 更换字体等功能。
适合初学者,本人初学java,做了个记事本,功能很简单,只有打开,保存,复制,粘贴,剪切与退出。所以如果你是高手的话就不用下载了。
JAVA课程设计_编写一个记事本程序,JAVA课程设计-编写一个记事本程序.doc
用Java程序编写一个记事本程序的设计报告
用Java编写的简易记事本,类似于我们平常用的记事本。
JAVA编写记事本程序,已做好!!!!!!!!!!!!!!!1
java的记事本,功能很强大,有复制粘贴,查找替换,更改字体,字号等一系列功能,
一个用java编写的记事本
这是一个用JAVA编译的记事本代码 实现万年历,记事本等功能
java实现简单的记事本程序
能实现简单日历记事的功能,上传大家一起学习。
用Java编写的记事本程序。仅供参考。还有不足的地方。待完善。
这是个简单的记事本程序。使用java语言。内含工程文件及源代码
简单记事本,有打开保存另存为,查找替换复制粘贴剪切等功能
简单的java记事本程序 实现了记事本的最基本功能,还有许多没有完善的地方,希望大家多多指教
我上传的是一个用java编写的记事本小程序,功能十分的强大
用Java编写简单的记事本,实现打开关闭,粘贴复制等功能。