package day25;
import java.awt.BorderLayout;
import java.awt.FileDialog;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
public class Notepad {
JFrame frame=new JFrame("记事本");
//菜单条
JMenuBar bar=new JMenuBar();
//面板
JPanel panel=new JPanel();
//文件菜单
JMenu fileMenu=new JMenu("文件");
JMenu editMenu=new JMenu("编辑");
JMenu other=new JMenu("选项"); //复选菜单
//文件菜单功能项
JMenuItem open=new JMenuItem("打开");
JMenuItem save=new JMenuItem("保存");
//编辑菜单功能项
JMenuItem about=new JMenuItem("关于");
JMenuItem exit=new JMenuItem("退出");
//复选菜单
JMenuItem work1=new JMenuItem("项目1");
JMenuItem work2=new JMenuItem("项目2");
JMenuItem work3=new JMenuItem("项目3");
TextArea textArea=new TextArea();
public void InitNotepad(){
//窗口添加菜单条
frame.add(bar,BorderLayout.NORTH);
frame.add(textArea);
//菜单条添加文件菜单
bar.add(fileMenu);
bar.add(editMenu);
//文件菜单项添加功能
fileMenu.add(open);
fileMenu.add(save);
//复选菜单
other.add(work1);
other.add(work2);
other.add(work3);
fileMenu.add(other);
//编辑菜单添加功能
editMenu.add(about);
editMenu.add(exit);
fileMenu.add(other);
//向打开添加事件
open.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
FileDialog filedialog=new FileDialog(frame,"请选择要打开的文件",FileDialog.LOAD);
filedialog.setVisible(true);
//将要打开的文件显示出来
String path=filedialog.getDirectory(); //获取用户打开的文件路径
String filename=filedialog.getFile(); //获取打开的文件名
//读取要打开的文件的内容
FileInputStream fileInputStream=new FileInputStream(new File(path,filename));
int length=0;
byte [] buf=new byte[1024];
while((length=fileInputStream.read(buf))!=-1){
String content=(new String(buf,0,length));
//将内容加到文本区域
textArea.setText(content);
}
fileInputStream.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
});
//给保存添加事件
save.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
try {
FileDialog fileDialog=new FileDialog(frame,"请选择要保存的路径",FileDialog.SAVE);
fileDialog.setVisible(true);
//获取用户选择的路径和文件名
String path=fileDialog.getDirectory();
String filename=fileDialog.getFile();
//创建输出对象
FileOutputStream fileoutputStream=new FileOutputStream(new File(path,filename));
//获取文本区域内容
String content=textArea.getText();
//将文本内容写出
fileoutputStream.write(content.getBytes());
fileoutputStream.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
FrameUtil.InitFrame(frame, 600, 500);
}
public static void main(String[] args) {
new Notepad().InitNotepad();
}
}
import java.awt.BorderLayout;
import java.awt.FileDialog;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
public class Notepad {
JFrame frame=new JFrame("记事本");
//菜单条
JMenuBar bar=new JMenuBar();
//面板
JPanel panel=new JPanel();
//文件菜单
JMenu fileMenu=new JMenu("文件");
JMenu editMenu=new JMenu("编辑");
JMenu other=new JMenu("选项"); //复选菜单
//文件菜单功能项
JMenuItem open=new JMenuItem("打开");
JMenuItem save=new JMenuItem("保存");
//编辑菜单功能项
JMenuItem about=new JMenuItem("关于");
JMenuItem exit=new JMenuItem("退出");
//复选菜单
JMenuItem work1=new JMenuItem("项目1");
JMenuItem work2=new JMenuItem("项目2");
JMenuItem work3=new JMenuItem("项目3");
TextArea textArea=new TextArea();
public void InitNotepad(){
//窗口添加菜单条
frame.add(bar,BorderLayout.NORTH);
frame.add(textArea);
//菜单条添加文件菜单
bar.add(fileMenu);
bar.add(editMenu);
//文件菜单项添加功能
fileMenu.add(open);
fileMenu.add(save);
//复选菜单
other.add(work1);
other.add(work2);
other.add(work3);
fileMenu.add(other);
//编辑菜单添加功能
editMenu.add(about);
editMenu.add(exit);
fileMenu.add(other);
//向打开添加事件
open.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
FileDialog filedialog=new FileDialog(frame,"请选择要打开的文件",FileDialog.LOAD);
filedialog.setVisible(true);
//将要打开的文件显示出来
String path=filedialog.getDirectory(); //获取用户打开的文件路径
String filename=filedialog.getFile(); //获取打开的文件名
//读取要打开的文件的内容
FileInputStream fileInputStream=new FileInputStream(new File(path,filename));
int length=0;
byte [] buf=new byte[1024];
while((length=fileInputStream.read(buf))!=-1){
String content=(new String(buf,0,length));
//将内容加到文本区域
textArea.setText(content);
}
fileInputStream.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
});
//给保存添加事件
save.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
try {
FileDialog fileDialog=new FileDialog(frame,"请选择要保存的路径",FileDialog.SAVE);
fileDialog.setVisible(true);
//获取用户选择的路径和文件名
String path=fileDialog.getDirectory();
String filename=fileDialog.getFile();
//创建输出对象
FileOutputStream fileoutputStream=new FileOutputStream(new File(path,filename));
//获取文本区域内容
String content=textArea.getText();
//将文本内容写出
fileoutputStream.write(content.getBytes());
fileoutputStream.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
FrameUtil.InitFrame(frame, 600, 500);
}
public static void main(String[] args) {
new Notepad().InitNotepad();
}
}