java简易编辑器

  1 package peng_jun;
  2
  3 import java.awt.*;
  4 import java.awt.event.*;
  5 import javax.swing.*;
  6 import javax.swing.event.*;
  7 import java.util.*;
  8 import java.io.*;
  9 import javax.swing.filechooser.*;
 10 import javax.swing.filechooser.FileFilter;
 11 import java.awt.datatransfer.*;
 12
 13 public class Text extends JFrame {
 14     TextArea area;//文本域
 15     String name = null;//文件名
 16     String board = null;
 17     private Clipboard cb;//系统粘贴板
 18
 19     Text() throws Exception {//构造函数
 20         setTitle("记事本");
 21         Toolkit kit = Toolkit.getDefaultToolkit();//Toolkit获得本机系统的屏幕的参数
 22         //Image img = kit.getImage("01.jpg");
 23         //setIconImage(img);
 24
 25
 26         JMenuBar jmb = new JMenuBar();//创建菜单条
 27         add(jmb);
 28         setJMenuBar(jmb);
 29         area = new TextArea();
 30         add(area);
 31
 32         JMenu file = new JMenu("文件");//定义“文件”菜单项
 33         JMenuItem rebuild = new JMenuItem("新建");
 34         rebuild.setAccelerator(KeyStroke.getKeyStroke("ctrl N"));
 35         JMenuItem save = new JMenuItem("保存");
 36         save.setAccelerator(KeyStroke.getKeyStroke("ctrl S"));
 37         JMenuItem open = new JMenuItem("打开");
 38         open.setAccelerator(KeyStroke.getKeyStroke("ctrl O"));
 39         JMenuItem anotherSave = new JMenuItem("另存为");
 40         file.add(rebuild);
 41         file.add(save);
 42         file.add(open);
 43         file.add(anotherSave);
 44         // JScrollPane scroldPane=new JScrollPane(area); //设置滚动轴
 45         // add(scroldPane);
 46         JMenu edit = new JMenu("编辑");//定义“编辑”菜单项
 47         JMenuItem cut = new JMenuItem("剪切");
 48         cut.setAccelerator(KeyStroke.getKeyStroke("ctrl X"));
 49         JMenuItem copy = new JMenuItem("复制");
 50         copy.setAccelerator(KeyStroke.getKeyStroke("ctrl C"));
 51         JMenuItem plaster = new JMenuItem("粘贴");
 52         plaster.setAccelerator(KeyStroke.getKeyStroke("ctrl V"));
 53         JMenuItem all = new JMenuItem("全选");
 54         all.setAccelerator(KeyStroke.getKeyStroke("ctrl A"));
 55         edit.add(cut);
 56         edit.add(copy);
 57         edit.add(plaster);
 58         edit.add(all);
 59         JMenu help = new JMenu("帮助");//定义“帮助”菜单项
 60         JMenuItem about = new JMenuItem("关于");
 61         help.add(about);
 62
 63         jmb.add(file);
 64         jmb.add(edit);
 65         jmb.add(help);
 66         setSize(600, 400);
 67         //setLocation(300, 200);
 68         setVisible(true);
 69         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 70
 71         cb = Toolkit.getDefaultToolkit().getSystemClipboard();//调用系统剪贴板
 72         save.addActionListener(new ActionListener() {
 73             public void actionPerformed(ActionEvent e) {
 74                 try {
 75                     saveText();
 76                 } catch (Exception ex) {
 77                 }
 78             }
 79         });
 80         open.addActionListener(new ActionListener() {
 81             public void actionPerformed(ActionEvent e) {
 82                 try {
 83                     openText();
 84                 } catch (Exception ex) {
 85                 }
 86             }
 87         });
 88         rebuild.addActionListener(new ActionListener() {
 89             public void actionPerformed(ActionEvent e) {
 90                 try {
 91                     area.setText("");
 92                     name = null;
 93                 } catch (Exception ex) {
 94                 }
 95             }
 96         });
 97         anotherSave.addActionListener(new ActionListener() {
 98             public void actionPerformed(ActionEvent e) {
 99                 anotherSaveText();
100             }
101         });
102
103         cut.addActionListener(new ActionListener() // 剪切
104         {
105             public void actionPerformed(ActionEvent e) {
106                 board = area.getSelectedText();
107                 cb.setContents(new StringSelection(board), null);
108                 area.replaceRange("", area.getSelectionStart(),
109                         area.getSelectionEnd());
110             }
111         });
112         copy.addActionListener(new ActionListener() // 复制
113         {
114             public void actionPerformed(ActionEvent e) {
115                 board = area.getSelectedText();
116                 cb.setContents(new StringSelection(board), null);
117             }
118         });
119         plaster.addActionListener(new ActionListener() // 粘贴
120         {
121             public void actionPerformed(ActionEvent e) {
122                 try {
123                     Transferable content = cb.getContents(null);
124                     String st = (String) content
125                             .getTransferData(DataFlavor.stringFlavor);
126                     area.replaceRange(st, area.getSelectionStart(),
127                             area.getSelectionEnd());
128                 } catch (Exception ex) {
129                 }
130             }
131         });
132         all.addActionListener(new ActionListener() // 全选
133         {
134             public void actionPerformed(ActionEvent e) {
135                 area.setSelectionStart(0);
136                 area.setSelectionEnd(area.getText().length());
137             }
138         });
139         about.addActionListener(new ActionListener() {//帮助
140             public void actionPerformed(ActionEvent e) {
141                 JFrame frame = new JFrame("关于");
142                 frame.setSize(150, 100);
143                 frame.setLocation(400, 300);
144                 JTextArea area1 = new JTextArea("java简易文本编辑器");
145                 frame.add(area1);
146                 frame.setVisible(true);
147             }
148         });
149     }
150
151     public void openText() // 打开
152     {
153         JFileChooser chooser = new JFileChooser();
154         FileNameExtensionFilter filter = new FileNameExtensionFilter("Files",
155                 "txt", "java");
156         chooser.setFileFilter(filter);
157         chooser.setCurrentDirectory(new File("."));
158         int result = chooser.showOpenDialog(Text.this);
159         if (result == JFileChooser.APPROVE_OPTION) {
160             name = chooser.getSelectedFile().getPath();
161             setTitle(name);
162             try {
163                 BufferedReader in = new BufferedReader(new FileReader(name));
164                 String line = null;
165                 String datas = "";
166                 while ((line = in.readLine()) != null) {
167                     if (datas == "") {
168                         datas = datas + line;
169                     } else {
170                         datas = datas + "\n" + line;
171                     }
172                 }
173                 area.setText(datas);
174                 in.close();
175             } catch (Exception ex) {
176             }
177         }
178     }
179
180     public void saveText() // 保存
181     {
182         if (name == null) {
183             JFileChooser chooser = new JFileChooser();
184             FileNameExtensionFilter filter = new FileNameExtensionFilter(
185                     "Files", "txt", "java");
186             chooser.setFileFilter(filter);
187             chooser.setCurrentDirectory(new File("."));
188             int result = chooser.showSaveDialog(Text.this);
189             if (result == JFileChooser.APPROVE_OPTION) {
190                 name = chooser.getSelectedFile().getPath();
191                 try {
192                     OutputStream out = new FileOutputStream(name);
193                     String datas = area.getText();
194                     out.write(datas.getBytes());
195                     out.close();
196                 } catch (Exception ex) {
197                 }
198             }
199         } else {
200             try {
201                 OutputStream out = new FileOutputStream(name);
202                 String datas = area.getText();
203                 out.write(datas.getBytes());
204                 out.close();
205             } catch (Exception ex) {
206             }
207         }
208     }
209
210     public void anotherSaveText() // 另存为
211     {
212         JFileChooser chooser = new JFileChooser();
213         FileNameExtensionFilter filter = new FileNameExtensionFilter("Files",
214                 "txt", "java");
215         chooser.setFileFilter(filter);
216         chooser.setCurrentDirectory(new File("."));
217         int result = chooser.showSaveDialog(Text.this);
218         if (result == JFileChooser.APPROVE_OPTION) {
219             name = chooser.getSelectedFile().getPath();
220             try {
221                 OutputStream out = new FileOutputStream(name);
222                 String datas = area.getText();
223                 out.write(datas.getBytes());
224                 out.close();
225             } catch (Exception ex) {
226             }
227         }
228     }
229
230     public static void main(String[] args) throws Exception {
231         new Text();
232     }
233 }
时间: 2024-10-09 10:36:43

java简易编辑器的相关文章

java文本编辑器5

1 package peng_jun; 2 3 import java.awt.*; 4 import java.awt.event.*; 5 6 import javax.swing.*; 7 8 import java.io.*; 9 10 import javax.swing.filechooser.*; 11 12 import java.awt.datatransfer.*; 13 14 public class Text4 extends JFrame { 15 public sta

java文本编辑器 版本4

1 package peng_jun; 2 3 import java.awt.*; 4 import java.awt.event.*; 5 6 import javax.swing.*; 7 8 import java.io.*; 9 10 import javax.swing.filechooser.*; 11 12 import java.awt.datatransfer.*; 13 14 public class Text3 extends JFrame { 15 public sta

java简易计算器

此小程序实现了计算器的基本功能: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SimpleCalc extends JFrame{ private static final long serialVersionUID = 1L; String[] labels = {"←","CE","±","√", "

java文本编辑器v2.0 图形用户界面

package 文本编辑器; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.GraphicsEnvironment; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListe

java代码编辑器 pdf文件预览 主流SSM 代码生成器 shrio redis websocket即时通讯

A代码编辑器,在线模版编辑,仿开发工具编辑器,pdf在线预览,文件转换编码 B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块 C 集成阿里巴巴数据库连接池druid  数据库连接池  阿里巴巴的 druid.Druid在监控.可扩展性.稳定性和性能方面都有明显的优势 D 集成安全权限框架shiro   Shiro 是一个用 Jav

java sql编辑器 动态报表 数据库备份还原 quartz定时任务调度 自定义表单 java图片爬虫

获取[下载地址]   QQ: 313596790   [免费支持更新] 三大数据库 mysql  oracle  sqlsever   更专业.更强悍.适合不同用户群体 [新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统] A 集成代码生成器(开发利器)+快速构建表单;            QQ:313596790 freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块 B 集成阿里巴巴数据库连接池druid;

安卓简易编辑器

自己做了个简易的小计算器,目前仅实现加减乘除操作,后续还未完善,只是简单记录一下自己的学习历程 计算器制作布局很简单,只是运用的算法清晰即可制作,我是运用了中缀表达式转化成后缀表达式,然后来的出计算器的算法. 首先是 (1)若为数字直接输出,并且储存在pre_out数组中, (2)遇到运算符,若栈为空,则进栈,不然先弹出优先级较高的运算符到pre_out,再将运算符弹入栈中 (3)当读取完字符串,就将栈里面的元素都弹出,此时pre_out就是一个后缀表达式 (4)然后对pre_out进行操作,当

java sql编辑器 数据库备份还原 quartz定时任务调度 自定义表单 java图片爬虫 java代码生成器

A代码编辑器,在线模版编辑,仿开发工具编辑器,pdf在线预览,文件转换编码B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块C 集成阿里巴巴数据库连接池druid  数据库连接池  阿里巴巴的 druid.Druid在监控.可扩展性.稳定性和性能方面都有明显的优势D 集成安全权限框架shiro  Shiro 是一个用 Java 语言

Java简易计算器实现

闲来无事,做了简易的计算器,在控制台打印,顺便用用switch语句 1 /** 2 * @author baiyangshuxia 3 * 控制台简单的计算器实现 4 * @time 2017年7月11日 下午8:31:08 5 */ 6 package cal; 7 8 import java.util.Scanner; 9 10 public class caltest { 11 12 public static void main(String[] args) { 13 // TODO A