zoukankan      html  css  js  c++  java
  • 带滚动条的文本文件

      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 }
  • 相关阅读:
    在字符串中查找指定字符(15)
    说反话 (20)
    鼠标经过显示问题
    Java数据库连接池-proxool
    mysql中MAX()函数和count()函数的技巧使用
    Java中多线程问题
    eclipse开发文档模板
    方法调用中的别名问题
    php类的定义
    通知浏览器下载文件,而不是直接打开下载
  • 原文地址:https://www.cnblogs.com/lzjtdxfxl/p/4700708.html
Copyright © 2011-2022 走看看