已有101人关注
执行程序中没有涉及到Jtest中的方法为什么方法都会执行?
发表在Java图书答疑 2018-11-15 《Java从入门到精通(第4版)》第15章 I/O(输入/输出) 279页-281页
是否精华
版块置顶:

package IOTest;
import java.awt.*;
import java.awt.event.*;
import java.io.*;

import javax.swing.*;

public class Ftest extends JFrame{
    private JScrollPane scrollPane;
    private static final long serialVersionUID = 1L;
    private JPanel jContentPane = null;
    private JTextArea jTextArea = null;
    private JPanel controlPanel = null;
    private JButton openButton = null;
    private JButton closeButton = null;
    
    private JTextArea getJTextArea(){
        if(jTextArea == null){
            jTextArea = new JTextArea();
        }
        return jTextArea;
    }
    
    private JPanel getControlPanel(){
        if(controlPanel == null){
            FlowLayout flowLayout = new FlowLayout();
            flowLayout.setVgap(1);
            controlPanel = new JPanel();
            controlPanel.setLayout(flowLayout);
            controlPanel.add(getOpenButton(),null);
            controlPanel.add(getCloseButton(),null);
        }
        return controlPanel;
    }
    
    private JButton getOpenButton(){
        if(openButton == null){
            openButton = new JButton();
            openButton.setText("写入文件");
            openButton.addActionListener(new java.awt.event.ActionListener(){
                public void actionPerformed(ActionEvent e){
                    File file = new File("word.txt");
                    try{
                        FileWriter out =  new FileWriter(file);
                        String s = jTextArea.getText();
                        out.write(s);
                        out.close();
                    }catch(Exception e1){
                        e1.printStackTrace();
                    }
                }
            });
        }
        return openButton;
    }
    
    private JButton getCloseButton(){
        if(closeButton == null){
            closeButton = new JButton();
            closeButton.setText("读取文件");
            closeButton.addActionListener(new java.awt.event.ActionListener(){
                public void actionPerformed(ActionEvent e){
                    File file = new File("word.txt");
                    try{
                        FileReader in = new FileReader(file);
                        char byt[] = new char[1024];
                        int len = in.read(byt);
                        jTextArea.setText(new String(byt,0,len));
                        in.close();
                    }catch(Exception e1){
                        e1.printStackTrace();
                    }
                }
            });
        }
        return closeButton;
    }
    
    public Ftest(){
        super();
        initialize();
    }
    
    private void initialize(){
        this.setSize(300,200);
        this.setContentPane(getJContentPane());
        this.setTitle("JFrame");
    }
    
    private JPanel getJContentPane(){
        if(jContentPane == null){
            jContentPane = new JPanel();
            jContentPane.setLayout(new BorderLayout());
            jContentPane.add(getScrollPane(), BorderLayout.CENTER);
            jContentPane.add(getControlPanel(),BorderLayout.SOUTH);
        }
        return jContentPane;
    }
    public static void main(String args[]){
        Ftest thisClass = new Ftest();
        thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        thisClass.setVisible(true);
    }
    protected JScrollPane getScrollPane(){
        if(scrollPane == null){
            scrollPane = new JScrollPane();
            scrollPane.setViewportView(getJTextArea());
        }
        return scrollPane;
    }
}

分享到:
精彩评论 2
Noob
学分:5 LV1
2018-11-15
沙发

KONG

根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
2018-11-16
板凳

请详细描述你的问题

首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照