使用Swing组件编写一个支持中文文本编辑程序ChineseTextEdit.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*; public class ChineseTextEdit extends JFrame implements ActionListener{
JTextArea texA;
JScrollPane scroll;
JButton but1;
JButton but2;
JButton but3; ChineseTextEdit(String name){
super(name);
init();
} void init(){ JPanel pan = new JPanel();
pan.setLayout(new BorderLayout());
pan.setBackground(Color.YELLOW); texA = new JTextArea("",20,30);
texA.setLineWrap(true);//设置自动换行
scroll = new JScrollPane(texA);//设置滚动条
pan.add(scroll,BorderLayout.CENTER); JPanel pan1= new JPanel();
pan1.setLayout(new GridLayout(1,3));//1行三列 but1 = new JButton("保存");
pan1.add(but1);
but1.addActionListener(this); but2 = new JButton("取消");
pan1.add(but2);
but2.addActionListener(this); but3 = new JButton("退出");
pan1.add(but3);
but3.addActionListener(this); pan.add(pan1,BorderLayout.SOUTH);
this.add(pan);
File f = new File("F:\\text.txt");
if(f.exists())
{
try{
BufferedReader br = new BufferedReader(new FileReader("F:\\text.txt"));
String strLine;
while(br.ready()){
strLine = br.readLine();
texA.append(strLine);
}
br.close();
}
catch(IOException ie){
ie.printStackTrace();
}
}
else{
try{
f.createNewFile();
}
catch(IOException e){
e.printStackTrace();
}
}
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == but1)
{
try{
BufferedWriter bw = new BufferedWriter(new FileWriter("F:\\text.txt"));//缓存写入
String strLine = texA.getText();
bw.write(strLine); bw.flush(); bw.close();
}
catch(IOException ie)
{
ie.printStackTrace();
}
}
else if(e.getSource() == but2){
texA.setText("");
}
else if(e.getSource() == but3){
dispose();//退出 }
} /** * @param args */
public static void main(String[] args)
{ // TODO Auto-generated method stub
ChineseTextEdit f = new ChineseTextEdit("test");
f.pack();
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
使用Swing组件编写一个支持中文文本编辑程序ChineseTextEdit.java的更多相关文章
- SnowNLP:一个处理中文文本的 Python 类库[转]
SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和Te ...
- SnowNLP:一个处理中文文本的 Python 类库
https://segmentfault.com/a/1190000000362372
- 推荐 | 中文文本标注工具Chinese-Annotator(转载)
自然语言处理的大部分任务是监督学习问题.序列标注问题如中文分词.命名实体识别,分类问题如关系识别.情感分析.意图分析等,均需要标注数据进行模型训练.深度学习大行其道的今天,基于深度学习的 NLP 模型 ...
- Swing组件Jtree,JTablePane选项卡运用
今天开始写技术博客,说实话,本没有什么技术,说是总结也好,说是分享也罢,总之是想自己有意识的做一些事情,作为一名即将毕业的大学生,总是想以最好的状态,去面向社会,今天就是我准备好了的时候,本人将技术博 ...
- netty系列之:轻轻松松搭个支持中文的服务器
目录 简介 netty的HTTP支持 netty中使用HTTP的原理 100 (Continue) Status 为netty搭建HTTP服务器 总结 简介 之前讲了那么多关于netty的文章,都是讲 ...
- Qt 编写应用支持多语言版本--一个GUI应用示例
简介 上一篇博文已经说过如何编写支持多语言的Qt 命令行应用,这一篇说说Qt GUI 应用多语言支持的坑. 本人喜欢用代码来写布局,而不是用 Qt Designer 来设计布局,手写布局比 Qt De ...
- 【Swing/文本组件】定义自动换行的文本域
文本域组件:Swing中任何一个文本域(JTextArea)都是JTestArea类型的对象.常用的构造方法如下 public JTextArea() public JTextArea(String ...
- Java基础---Java---网络编程---TCP的传输、客户端和服务端的互访、建立一个文本转换器、编写一个聊天程序
演示TCP的传输的客户端和服务端的互访 需求:客户端给服务端发送数据,服务端收到后,给客户端反馈信息. 客户端: 1.建立Socket服务,指定要连接方朵和端口 2.获取Socket流中的输出流,将数 ...
- 二、 编写一个类,用两个栈实现队列,支持队列的基本操作(add,poll,peek)
请指教交流! package com.it.hxs.c01; import java.util.Stack; /* 编写一个类,用两个栈实现队列,支持队列的基本操作(add,poll,peek) */ ...
随机推荐
- kentico中的page template的使用
父页面使用自己的template 子页面,也使用自己的template. 然后父页面中需要添加一个place holder. 子页面的继承,选择inherit only master page. 这样 ...
- 英语发音规则---V字母
英语发音规则---V字母 一.总结 一句话总结: 1.V发[v]? voice [vɒɪs] n. 声音 love [lʌv] n. 恋爱 leave [liːv] vt. 离开 very ['ver ...
- CodeForces--606A --Magic Spheres(模拟水题)
Magic Spheres Time Limit: 2000MS Memory Limit: 262144KB 64bit IO Format: %I64d & %I64u Submi ...
- Oracle的awr和ash
1. 10g之前 用户的连接将产生会话,当前会话记录保存在v$session中:处于等待状态的会话会被复制一份放在v$session_wait中.当该连接断开后,其原来的连接信息在v$sess ...
- POJ 2771 最大独立集 匈牙利算法
(为什么最大独立集的背景都是严打搞对象的( _ _)ノ|壁) 思路:匈牙利算法 没什么可说的-- // by SiriusRen #include <cstdio> #include &l ...
- Centos下MongoDB数据库的安装以及配置开机自启动(三)
最近写了一个用node来操作MongoDB完成增.删.改.查.排序.分页功能的示例,并且已经放在了服务器上地址:http://39.105.32.180:3333. 在服务器上完全可以用yum来安装管 ...
- 理解Cookie与Session
HTTP本身是无状态的. 这符合HTTP协议设计的目的.客户端只是简单地向服务器请求某种资源.两者都没有必须记录彼此过去的行为,每一次请求之间都是独立的. 为了保存状态.在客户端使用Cookie,在S ...
- (转载)Android项目实战(二十七):数据交互(信息编辑)填写总结
Android项目实战(二十七):数据交互(信息编辑)填写总结 前言: 项目中必定用到的数据填写需求.比如修改用户名的文字编辑对话框,修改生日的日期选择对话框等等.现总结一下,方便以后使用. 注: ...
- Oracle 合并查询
8).合并查询有时在实际应用中,为了合并多个select语句的结果,可以使用集合操作符号union,union all,intersect,minus.多用于数据量比较大的数据局库,运行速度快.1). ...
- Django中ORM之查询表记录
查询相关API from django.db import models # Create your models here. class Book(models.Model): title = mo ...