带滚动条的文本文件

  1 import javax.swing.*;
  2 import java.io.*;
  3 import java.awt.*;
  4 import java.awt.event.*;
  5 
  6 
  7 public class Ftest extends JFrame {
  8     private static final long serialVersionUID = 1L;
  9     private JPanel jContentPane = null;
 10     private JTextArea jTextArea = null;
 11     private JPanel controlPanel = null;
 12     private JButton openButton = null;
 13     private JButton closeButton = null;
 14     
 15  private JTextArea getJTextArea() {
 16         if (jTextArea == null) {
 17             jTextArea = new JTextArea();
 18         }
 19         return jTextArea;
 20     }
 21 
 22 private JPanel getControlPanel() {
 23         if (controlPanel == null) {
 24             FlowLayout flowLayout = new FlowLayout();
 25             flowLayout.setVgap(1);
 26             controlPanel = new JPanel();
 27             controlPanel.setLayout(flowLayout);
 28             controlPanel.add(getOpenButton(), null);
 29             controlPanel.add(getCloseButton(), null);
 30         }
 31         return controlPanel;
 32     }
 33 
 34 
 35     private JButton getOpenButton() {
 36         if(openButton == null) {
 37             openButton = new JButton();
 38             openButton.setText("写入文件");
 39             openButton.addActionListener(new ActionListener() {
 40                 public void actionPerformed(ActionEvent e) {
 41                     File file = new File("word.txt");
 42                     try    {
 43                         FileWriter out = new FileWriter(file);
 44                         String s = jTextArea.getText();
 45                         out.write(s);
 46                         out.close();                        
 47                     }catch (Exception e1) {
 48                         e1.printStackTrace();
 49                     }
 50                 }
 51             });
 52     }
 53     return openButton;
 54 }
 55 private JButton getCloseButton() {
 56     if(closeButton == null) {
 57         closeButton = new JButton();
 58         closeButton.setText("读取文件");
 59         closeButton.addActionListener(new ActionListener() {
 60             public void actionPerformed(ActionEvent e) {
 61 
 62                 File file = new File("word.txt");
 63                 try    {
 64                     FileReader in = new FileReader(file);
 65                     char byt[] = new char[1024];
 66                     int len = in.read(byt);
 67                     jTextArea.setText(new String(byt, 0, len));
 68                     in.close();
 69                 }
 70                 catch (Exception e1) {
 71                     e1.printStackTrace();
 72                 }    
 73             }
 74         });
 75     }
 76     return closeButton;
 77 }
 78 
 79 public Ftest() {
 80     super();
 81     initialize();
 82 }
 83 public void initialize() {
 84     this.setSize(300, 200);
 85     this.setContentPane(getJContentPane());
 86     this.setTitle("JFrame");
 87 }
 88 private JPanel getJContentPane() {
 89     if(jContentPane == null) {
 90         jContentPane = new JPanel();
 91         jContentPane.setLayout(new BorderLayout());
 92         jContentPane.add(getJTextArea(), BorderLayout.CENTER);
 93         jContentPane.add(getControlPanel(), BorderLayout.SOUTH);
 94     }
 95     return jContentPane;
 96 }
 97     public static void main(String[] args) {
 98         Ftest thisClass = new Ftest();
 99         thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
100         thisClass.setVisible(true);
101     }
102 }
原文地址:https://www.cnblogs.com/lzjtdxfxl/p/4700708.html