使用Swing组件编写一个支持中文文本编辑程序ChineseTextEdit.java
2024-08-31 10:52:29
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);
}
}
最新文章
- Java数据结构之对称矩阵的压缩算法---
- java虚拟机之垃圾回收算法
- Android NDK, No rule to make target
- ckeditor
- Newtonsoft.Json.dll解析json的dll文件使用
- 【清橙A1094】【牛顿迭代法】牛顿迭代法求方程的根
- 第 18 章 高可用设计之 MySQL 监控
- VBS自动按键大全,vbs基本和特殊按键
- NVisionXR引擎基本介绍
- let内嵌lambda使用set!构成闭包
- multiwan 脚本
- bzoj 1283 序列 - 费用流
- webstorm使用YUIcompressor压缩js css并指定目录
- 【adb】执行adb devices 设备offline
- How Tomcat works — 三、tomcat启动(2)
- u3d常用代码小集合
- 在Ubuntu1404的64bit版本下安装caffe
- Mac下Homebrew的安装与使用
- 导入jar包的方法
- mysql的事务,隔离级别和锁