• 使用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);
    }
    }
  • 相关阅读:
    动态展示图片
    vue 字符串长度控制显示的字数超出显示省略号
    ivew-admin 校验 自定义验证表单多层嵌套
    ivew 【provide/inject] 页面刷新实现reload
    vue-ivew input 框 回车搜索功能
    php中二维数组如何使用
    页面图片按钮案例
    html页面插入flash代码
    js动态设置输入框字体/颜色
    php如何判断是手机访问还是电脑访问
  • 原文地址:https://www.cnblogs.com/xiaochi/p/4947185.html
Copyright © 2020-2023  润新知