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的更多相关文章

  1. SnowNLP:一个处理中文文本的 Python 类库[转]

    SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和Te ...

  2. SnowNLP:一个处理中文文本的 Python 类库

    https://segmentfault.com/a/1190000000362372

  3. 推荐 | 中文文本标注工具Chinese-Annotator(转载)

    自然语言处理的大部分任务是监督学习问题.序列标注问题如中文分词.命名实体识别,分类问题如关系识别.情感分析.意图分析等,均需要标注数据进行模型训练.深度学习大行其道的今天,基于深度学习的 NLP 模型 ...

  4. Swing组件Jtree,JTablePane选项卡运用

    今天开始写技术博客,说实话,本没有什么技术,说是总结也好,说是分享也罢,总之是想自己有意识的做一些事情,作为一名即将毕业的大学生,总是想以最好的状态,去面向社会,今天就是我准备好了的时候,本人将技术博 ...

  5. netty系列之:轻轻松松搭个支持中文的服务器

    目录 简介 netty的HTTP支持 netty中使用HTTP的原理 100 (Continue) Status 为netty搭建HTTP服务器 总结 简介 之前讲了那么多关于netty的文章,都是讲 ...

  6. Qt 编写应用支持多语言版本--一个GUI应用示例

    简介 上一篇博文已经说过如何编写支持多语言的Qt 命令行应用,这一篇说说Qt GUI 应用多语言支持的坑. 本人喜欢用代码来写布局,而不是用 Qt Designer 来设计布局,手写布局比 Qt De ...

  7. 【Swing/文本组件】定义自动换行的文本域

    文本域组件:Swing中任何一个文本域(JTextArea)都是JTestArea类型的对象.常用的构造方法如下 public JTextArea() public JTextArea(String ...

  8. Java基础---Java---网络编程---TCP的传输、客户端和服务端的互访、建立一个文本转换器、编写一个聊天程序

    演示TCP的传输的客户端和服务端的互访 需求:客户端给服务端发送数据,服务端收到后,给客户端反馈信息. 客户端: 1.建立Socket服务,指定要连接方朵和端口 2.获取Socket流中的输出流,将数 ...

  9. 二、 编写一个类,用两个栈实现队列,支持队列的基本操作(add,poll,peek)

    请指教交流! package com.it.hxs.c01; import java.util.Stack; /* 编写一个类,用两个栈实现队列,支持队列的基本操作(add,poll,peek) */ ...

随机推荐

  1. Oracle 位图索引

    内容简介: 1.位图索引 1.1位图索引使用注意事项; 1.2 使用位图索引; 1.3 位图索引对DML操作的影响; 2.位图连接索引 2.1 明确需求后使用位图索引; 2.1创建位图连接索引的注意事 ...

  2. golang sftp传输文件

    之前有一篇介绍如何使用 golang 通过SSH协议来执行远程命令:golang执行远程命令 同样,通过SSH协议也可以使用 golang 来远程传输文件. 除了 SSH 的库,为了传输文件,还需要用 ...

  3. Spark RDD概念学习系列之如何创建Pair RDD

    不多说,直接上干货! 创建Pair RDD Python语言 pairs = lines.map(lambda x: (x.split(], x))  scala语言 val pairs = line ...

  4. marge into操作

    动机: 想在Oracle中用一条SQL语句直接进行Insert/Update的操作. 说明: 在进行SQL语句编写时,我们经常会遇到大量的同时进行Insert/Update的语句 ,也就是说当存在记录 ...

  5. MarkDown 语法备份

    标题 标题1 标题2 标题3 标题4 标题5 无序列表 飞雪连天射白鹿 书神侠倚碧鸳 有序列表 飞雪连天射白鹿 笑书神侠倚碧鸳 超链接 百度 图片 粗体和斜体 粗体 斜体 表格 左对齐标题 右对齐标题 ...

  6. python中set集合的使用

    集合(set):把不同的元素组成一起形成集合,是python基本的数据类型. python 的集合类型和 其他语言类似, 是一个无序不重复元素集 基本功能包括关系测试和消除重复元素.集合对象还支持un ...

  7. windows及git常用命令

    windows常用命令: 创建文件夹:md 文件夹名 创建空的文件:type nul>文件名 创建有内容文件:echo "内容">文件名 查看文件内容:type +文件 ...

  8. Android和IOS等效MD5加密

    最近在Android和IOS上都需要对用户的某些输入进行简单的加密,于是采用MD5加密方式. 首先将目的字符串加密一次,获得32位字符串 然后将32位字符串拆为2段,分别加密1次 最后将加密后的2段拼 ...

  9. Android中onActivityResult()获取返回值

    需求:从FirstActivity跳到SecondActivity,在SecondActivity中进行了操作并返回到FirstActivity. FirstActivity中的主要代码: priva ...

  10. oracle导入导出操作

    1,获取oracle导入导出帮助: imp help=y 2,导出命令 exp 用户名/密码@数据库实例 file=文件路径名 如: exp sys/password@orcl file=d:\dat ...