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. android中进程的优先级

    android中进程的优先级

  2. Fuzzy C Means 算法及其 Python 实现——写得很清楚,见原文

    Fuzzy C Means 算法及其 Python 实现 转自:http://note4code.com/2015/04/14/fuzzy-c-means-%E7%AE%97%E6%B3%95%E5% ...

  3. DB-SQL-MySQL-杂项-调优:Mysql千万以上数据优化、SQL优化方法

    ylbtech-DB-SQL-MySQL-杂项-调优:Mysql千万以上数据优化.SQL优化方法 1.返回顶部 1. 1,单库表别太多,一般保持在200以下为宜 2,尽量避免SQL中出现运算,例如se ...

  4. Migrations有两个文件迁移数据的方法

    不分开迁移报错如下; 解决方案 1 迁移Migration/nfoManage EntityFramework\Enable-Migrations -ContextTypeName InfoModel ...

  5. spring-boot系列:(一)整合dubbo

    spring-boot-2整合dubbo 新框架学习,必须上手干.书读百遍,其义自见. 本文主要介绍spring-boot-2整合dubbo,使用xml配置实现一个provider和consumer. ...

  6. block的一些注意事项

    1,定义block时是可以同时进行赋值的 2,block中是代码块,就是里面写的是语句,需要加分号 3,在block中,允许有多条语句 4,在带有参数的block中,声明部分参数名可以省略,但是建议写

  7. BZOJ 2287 DP+容斥

    思路: 先处理出来f[j]表示这i个物品都可用 填满容量j的方案数 容斥一发 处理出来g[j]=g[j-w[i]] 表示i不能用的时候 填满容量j的方案数 //By SiriusRen #includ ...

  8. 制作ubuntu的U盘启动盘

    在制作U盘启动盘之前,请各位先格式化你的U盘. 制作U盘启动盘的工具有很多种,我们这里为大家介绍的是用软碟通制作.所有我们需要有这个软件,如果大家没有可以百度“软碟通”,下载安装一个.然后点击打开.在 ...

  9. javascript中全屏滑动效果实现

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. here.less

    <html><head><title>Test Less</title><link rel="stylesheet/less" ...