文字编辑器功能:
新建文件,打开文件,保存文件,帮助对话框
小弟不才,新手,贴上来给各路英豪指教一二,谢谢花时间看此帖的各位朋友,对了,如您有时间,也请高手贴上自己的,让小弟知道自己的不足好继续改进
,/**
*
*/
package mypackage;/**
* @author Administrator
*
*/
import java.awt.BorderLayout;
import java.awt.Dialog;
import java.awt.FileDialog;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.MenuShortcut;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;public class TextEditor extends WindowAdapter implements ActionListener {
private Frame frame; //主窗体
private TextArea textarea; //文本输入区域
private String filename; //打开的文件名
public void createEditor() {
//建立文件菜单
MenuBar menuBar = new MenuBar();
Menu menufile = new Menu("文件");
MenuItem menunew = new MenuItem("新建",new MenuShortcut(KeyEvent.VK_N));
menufile.add(menunew);
MenuItem menuopen = new MenuItem("打开",new MenuShortcut(KeyEvent.VK_O));
menufile.add(menuopen);
MenuItem menusave = new MenuItem("保存",new MenuShortcut(KeyEvent.VK_S));
menufile.add(menusave);
menufile.addSeparator();
menufile.add("退出");
menufile.addActionListener(this); //注册菜单单击事件监听器
menuBar.add(menufile);
//建立帮助菜单
Menu menuhelp = new Menu("帮助");
menuhelp.add("关于");
menuhelp.addActionListener(this); //注册菜单单击事件监听器
menuBar.setHelpMenu(menuhelp);
//主窗口
frame = new Frame("Java实现文本编辑器");
frame.setMenuBar(menuBar);
textarea= new TextArea();
frame.add("Center",textarea);
frame.addWindowListener(this); //注册窗口关闭监听器
frame.setSize(600,400);
frame.setVisible(true);
}
//菜单选择事件
public void actionPerformed(ActionEvent e) {
try {
if(e.getActionCommand()== "新建") {
textarea.setText("");
} else if(e.getActionCommand() == "打开") {
//选择文件
FileDialog tefdopen = new FileDialog(frame,"Open",0);
tefdopen.setVisible(true);
filename = tefdopen.getDirectory() + tefdopen.getFile();
//读取文件
FileReader fr = new FileReader(filename);
BufferedReader br = new BufferedReader(fr);
String str = "";
while(br.ready()) {
int c = br.read();
str += (char)c;
}
textarea.setText(str);
br.close();
fr.close();
frame.setTitle("Java实现文本编辑器 -" + filename);
} else if(e.getActionCommand() == "保存") {
//写入文件
File file = new File(filename);
FileWriter fos = new FileWriter(file,true);
BufferedWriter bos = new BufferedWriter(fos);
PrintWriter pos = new PrintWriter(bos);
//写入对象容器
pos.print(textarea.getText());
//关闭输出流
bos.close();
pos.close();
fos.close();
} else if (e.getActionCommand() == "另存为...") {
//选择文件
FileDialog tefdopen = new FileDialog(frame,"Open",0);
tefdopen.setVisible(true);
filename = tefdopen.getDirectory() + tefdopen.getFile();
//写入文件
File file = new File(filename);
FileWriter fos = new FileWriter(file,true);
BufferedWriter bos = new BufferedWriter(fos);
PrintWriter pos = new PrintWriter(bos);
//写入对象数据
pos.print(textarea.getText());
//关闭输出流
bos.close();
pos.close();
fos.close();
} else if(e.getActionCommand() == "退出") {
System.exit(0);
} else if(e.getActionCommand() == "关于") {
//显示关于对话框
final Dialog dialog = new Dialog(frame,"关于",true);
dialog.setSize(267,117);
dialog.setLayout(new GridLayout(2,1));
//窗口关闭事件
dialog.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dialog.dispose();
}
});
//显示消息
Panel topPanel = new Panel();
Label label = new Label("Java文本编辑器-作者:java小菜鸟");
topPanel.add(label,BorderLayout.NORTH);
dialog.add(topPanel);
dialog.setVisible(true);
}
} catch(FileNotFoundException e1) {
} catch (IOException e1) {
}
}
//关闭窗体事件
public void windowClosing(WindowEvent e) {
System.exit(0);
}
//主函数
public static void main(String[] args) {
TextEditor te = new TextEditor();
te.createEditor();
}
}
新建文件,打开文件,保存文件,帮助对话框
小弟不才,新手,贴上来给各路英豪指教一二,谢谢花时间看此帖的各位朋友,对了,如您有时间,也请高手贴上自己的,让小弟知道自己的不足好继续改进
,/**
*
*/
package mypackage;/**
* @author Administrator
*
*/
import java.awt.BorderLayout;
import java.awt.Dialog;
import java.awt.FileDialog;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.MenuShortcut;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;public class TextEditor extends WindowAdapter implements ActionListener {
private Frame frame; //主窗体
private TextArea textarea; //文本输入区域
private String filename; //打开的文件名
public void createEditor() {
//建立文件菜单
MenuBar menuBar = new MenuBar();
Menu menufile = new Menu("文件");
MenuItem menunew = new MenuItem("新建",new MenuShortcut(KeyEvent.VK_N));
menufile.add(menunew);
MenuItem menuopen = new MenuItem("打开",new MenuShortcut(KeyEvent.VK_O));
menufile.add(menuopen);
MenuItem menusave = new MenuItem("保存",new MenuShortcut(KeyEvent.VK_S));
menufile.add(menusave);
menufile.addSeparator();
menufile.add("退出");
menufile.addActionListener(this); //注册菜单单击事件监听器
menuBar.add(menufile);
//建立帮助菜单
Menu menuhelp = new Menu("帮助");
menuhelp.add("关于");
menuhelp.addActionListener(this); //注册菜单单击事件监听器
menuBar.setHelpMenu(menuhelp);
//主窗口
frame = new Frame("Java实现文本编辑器");
frame.setMenuBar(menuBar);
textarea= new TextArea();
frame.add("Center",textarea);
frame.addWindowListener(this); //注册窗口关闭监听器
frame.setSize(600,400);
frame.setVisible(true);
}
//菜单选择事件
public void actionPerformed(ActionEvent e) {
try {
if(e.getActionCommand()== "新建") {
textarea.setText("");
} else if(e.getActionCommand() == "打开") {
//选择文件
FileDialog tefdopen = new FileDialog(frame,"Open",0);
tefdopen.setVisible(true);
filename = tefdopen.getDirectory() + tefdopen.getFile();
//读取文件
FileReader fr = new FileReader(filename);
BufferedReader br = new BufferedReader(fr);
String str = "";
while(br.ready()) {
int c = br.read();
str += (char)c;
}
textarea.setText(str);
br.close();
fr.close();
frame.setTitle("Java实现文本编辑器 -" + filename);
} else if(e.getActionCommand() == "保存") {
//写入文件
File file = new File(filename);
FileWriter fos = new FileWriter(file,true);
BufferedWriter bos = new BufferedWriter(fos);
PrintWriter pos = new PrintWriter(bos);
//写入对象容器
pos.print(textarea.getText());
//关闭输出流
bos.close();
pos.close();
fos.close();
} else if (e.getActionCommand() == "另存为...") {
//选择文件
FileDialog tefdopen = new FileDialog(frame,"Open",0);
tefdopen.setVisible(true);
filename = tefdopen.getDirectory() + tefdopen.getFile();
//写入文件
File file = new File(filename);
FileWriter fos = new FileWriter(file,true);
BufferedWriter bos = new BufferedWriter(fos);
PrintWriter pos = new PrintWriter(bos);
//写入对象数据
pos.print(textarea.getText());
//关闭输出流
bos.close();
pos.close();
fos.close();
} else if(e.getActionCommand() == "退出") {
System.exit(0);
} else if(e.getActionCommand() == "关于") {
//显示关于对话框
final Dialog dialog = new Dialog(frame,"关于",true);
dialog.setSize(267,117);
dialog.setLayout(new GridLayout(2,1));
//窗口关闭事件
dialog.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dialog.dispose();
}
});
//显示消息
Panel topPanel = new Panel();
Label label = new Label("Java文本编辑器-作者:java小菜鸟");
topPanel.add(label,BorderLayout.NORTH);
dialog.add(topPanel);
dialog.setVisible(true);
}
} catch(FileNotFoundException e1) {
} catch (IOException e1) {
}
}
//关闭窗体事件
public void windowClosing(WindowEvent e) {
System.exit(0);
}
//主函数
public static void main(String[] args) {
TextEditor te = new TextEditor();
te.createEditor();
}
}
解决方案 »
- 这该怎么办??Object类型的xml文档
- 关于运行struts2的一些错误信息
- axis2 webservice或者 xfire webservice问题
- JNA调dll库的时候,dll库里面的struct结构体里包含有#ifdef __cplusplus,对应的JAVA类怎么写啊?
- java5的线程池谁有研究?关于监控池中的线程的问题
- struts标签如何绑定int类型字段(提交时需要写入)
- tapestry问题,哪位兄弟进来看看...
- 请问大家jb2005有汉化版吗?
- tomcat5怎样对外开放?
- 关于Borland Together Control Center
- 多表关联后将list值显示到jsp页面上的问题?
- 求petstore(Struts+EJB3)的图片
pos.close();
bos.close();
fos.close();