求JAVA文本编辑器源程序 急!!!

可以设置文本的字体、大小、颜色等基本参数,可以读取计算机中TXT文件,可以生成一个新的TXT文件。也要有复制、粘贴功能。
先谢谢各位啦!!!

import java.awt.Color;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;

public class Test extends JFrame implements ActionListener{

private JFrame jf = new JFrame("Notepad"); //面板
private JTextArea jta = new JTextArea(20, 30); //文本区
JScrollPane jsp = new JScrollPane(jta); //滚动条

public Test() {
jta.setLineWrap(true);
jf.add(jsp);
JMenuBar jmb = new JMenuBar();

JMenu jm1 = new JMenu("文件");
String[] label1 = {"新建...","打开...","保存", "退出" };
JMenuItem[] jmi1 = new JMenuItem[label1.length];
for (int i = 0; i < jmi1.length; i++) {
jmi1[i] = new JMenuItem(label1[i]);
jm1.add(jmi1[i]);
jmi1[i].addActionListener(this);
}

JMenu jm2 = new JMenu("编辑");
String[] label2 = {"剪切", "复制", "粘贴","全选" };
JMenuItem[] jmi2 = new JMenuItem[label2.length];
for (int i = 0; i < jmi2.length; i++) {
jmi2[i] = new JMenuItem(label2[i]);
jm2.add(jmi2[i]);
jmi2[i].addActionListener(this);
}

JMenu jm3 = new JMenu("设置");
JMenuItem jmi3 = new JMenuItem("颜色");
jm3.add(jmi3);
jmi3.addActionListener(this);

jmb.add(jm1);
jmb.add(jm2);
jmb.add(jm3);
jf.setJMenuBar(jmb);
jf.pack();
jf.setLocation(300, 200);
jf.setVisible(true);
jf.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
jf.removeAll();
jf.dispose();
}
});

}

public void readText(String path){
//list.clear();
FileInputStream fis;
try {
fis = new FileInputStream(path);

InputStreamReader isr=new InputStreamReader(fis);
BufferedReader br=new BufferedReader(isr);
jta.setText("");
String temp=br.readLine();
while(temp!=null){
jta.append(temp+"\n");
temp=br.readLine();
}
} catch (Exception e) {

e.printStackTrace();
}
}

public String readPath(){
//JFrame frm=new JFrame();

JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
chooser.setVisible(true);
chooser.showOpenDialog(this);
String path=null;
// if(i==JFileChooser.APPROVE_OPTION){
path=chooser.getSelectedFile().getPath();
System.out.println(JFileChooser.OPEN_DIALOG);
//}
return path;
}

public String savePath(){
JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
chooser.setVisible(true);
chooser.showSaveDialog(this);
String path=null;
// if(i==JFileChooser.APPROVE_OPTION){
path=chooser.getSelectedFile().getPath();
System.out.println(JFileChooser.OPEN_DIALOG);
//}
return path;
}

public static Color setColor(){
Color selectedColor = JColorChooser.showDialog(null,"select",Color.BLACK) ;
return selectedColor;
}

public boolean writer(String paths){
//String paths=savePath();
FileWriter fw;
try {
fw = new FileWriter(paths,true);
fw.write(jta.getText());
fw.close();
} catch (IOException e) {

e.printStackTrace();
return false;
}
return true;
}

public void actionPerformed(ActionEvent e) {//接收发送过来的请求,并做相应处理
String comm = e.getActionCommand();
if (comm.equals("新建...")) {
jta.setText("");
}
if (comm.equals("保存")) {
String saveStr=this.savePath();
this.writer(saveStr);
}
if (comm.equals("打开...")){
readText(readPath());
}
if (comm.equals("退出")){
System.exit(0);
}
if (comm.equals("剪切")) {
jta.cut();
}
if (comm.equals("复制")) {
jta.copy();
}
if (comm.equals("粘贴")) {
jta.paste();
}
if (comm.equals("全选")) {
jta.selectAll();
}
if (comm.equals("颜色")) {
jta.setForeground(setColor());
}
}

public static void main(String[] args) {
new Test();
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-12-04
sourceinsight

UltraEdit

java编的简单文本编辑器!!急求!!!不要网上随便搜的复制粘贴的!!!
当选择open时,会弹出文件对话框,让用户选择指定的文件(文本文件),然后将文件的内容显示在多行文本框中。当选择save 时,弹出文件对话框,在其中输入文件名后将多行文本框的内容存入该文件。当选择Quit时,退出该程序的执行,此菜单项对应的快捷方式是Ctrl+E。Format菜单又包括Color和Font。当选择Color时,可以在二级菜单...

能编译运行java的简单文本编辑器
import java.awt.BorderLayout;public class WordProcessSystem extends JFrame{ private JFileChooser chooser;private JTextArea textArea;private File file;private String string = "";private Font font;public WordProcessSystem(){ super();setTitle("文字处理系统");setBounds(100, 100,600, 500);...

如何用java编写一个简单的文本编辑器?
import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;public class f1 extends Frame implements ActionListener { private MenuBar menubar=new MenuBar();private Menu filemenu=new Menu("文件");private Menu editmenu=new Menu("编辑");private Menu formmenu=new...

求一个用JAVA写的简单的记事本源代码程序
import java.awt.*;import java.awt.event.*;import java.io.*;import java.awt.datatransfer.*;class MyMenuBar extends MenuBar{ public MyMenuBar(Frame parent){ parent.setMenuBar(this);} public void addMenus(String [] menus){ for(int i=0;i<menus.length;i++)add(new Menu(menus[i...

速求一个java 的文本编辑器软件,中文编辑器,稳定点的!要安装程序那种...
仅仅是文本编辑器,我推荐notepad++。如果是IDE,我推荐Myeclipse。

java必须用文本编辑器编写源文件对吗?
对的 1、编写源文件 使用一个文本编辑器(如Edit或记事本)编写源文件,不可使用非文本编辑器(如我word编辑器)。将编写好的源文件保存起来,源文件的扩展名必须是.java。2、编译源文件 使用Java编译器(javac.exe)编译源文件,得到字节码文件。3、运行程序 使用Java SE 平台中的Java解释器(java....

java编译文本编辑器
super("文本编辑器"); \/\/默认BorderLayout布局 this.setSize(500,300); this.setLocation(300,240); this.setDefaultCloseOperation(EXIT_ON_CLOSE); \/\/单击窗口关闭按钮时,结束程序运行 textarea = new JTextArea("TextArea"); textarea.addMouseListener(this); \/\/为文本区注册鼠标事件监听器 this.add(text...

求JAVA源代码!!紧急~~~
只能给你第一个:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class JNotePadUI extends JFrame { private JMenuItem menuOpen;private JMenuItem menuSave;private JMenuItem menuSaveAs;private JMenuItem menuClose;private JMenu editMenu;private JMenuItem menuCut...

Java编程工具有哪些比较好用?
一、Editplus EditPlus是功能很全面的文本、HTML、程序源代码编辑器。默认的支持HTML、ASP、Perl、C\/C++、CSS、PHP、Java、java和VB的语法着色。通过定制语法文件还可以扩展到其他程序语言。可以在Tools菜单的ConfigureUserTools菜单项配置用户工具,类似于UltraEdit的配置,配置好Java的编译器Javac和解释器Java...

java最好用的编辑器(java最好用的编辑器排名)
UltraEdit可以编辑文本、十六进制、ASCII码,不过它需要付费使用。 SublimeText也是一款收费软件,但是可以无限期试用,它是一个跨平台的编辑器,同时支持Windows、Linux、MacOSX等操作系统。 Java的编辑器用哪个比较好? 1、初学者: 初学者建议用JCreator,编译,运行比较简单,大部分代码多是需要手敲的。不过可以熟悉各个类,和...

相似回答