sinat_36930749 2016-12-11 07:27 采纳率: 80%
浏览 5909
已采纳

JAVA如何在窗体中输出

package keylogger;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

//创建窗口
public class readFile extends JFrame{

JPanel JPanel1;

JLabel reading;

public readFile(){

    this.setSize(300,200);  

    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  

    this.setTitle("Keylogger!");  

    this.setVisible(true);

    JPanel1 = new JPanel();

    add(JPanel1);

    reading = new JLabel();//感觉应该在这里添加输入的内容,但是不知道怎么调用下面读取的内容

    JPanel1.add(reading);

}

//读取TXT文件
public static void readFileMessage(String fileName) {

    File file = new File(fileName);

    BufferedReader reader = null;

    try {

        System.out.println("按顺序读取文件的内容如下:");

        reader = new BufferedReader(new FileReader(file));


        String string = null;

        int line = 1;
        // 按行读取内容,直到读入null则表示读取文件结束
        while ((string = reader.readLine()) != null) {

            System.out.println("line " + line + ": " + string);

            line++;
        }

        reader.close();

    } 
            catch (IOException e) {

        e.printStackTrace();

    } finally {

        if (reader != null) {

            try {
                reader.close();

            } catch (IOException e1) {

            }
        }
    }
}

//输出结果
public static void main(String[] args) {

    String fileName = "D:/temp/test.txt";

    System.out.println("输出文件的内容:");

    readFile.readFileMessage(fileName);

            readFile r = new readFile();
}

}
这是一个读取TXT文件的程序,我想把读取的内容显示在窗体中,但是不知道该如何编写,
希望各位大神能给我一些帮助,感激不尽!!!

  • 写回答

3条回答 默认 最新

  • 毕小宝 博客专家认证 2016-12-11 08:51
    关注

    其实稍微修改下,可以不需要键盘响应事件的,直接用JText,然后提供一个保存按钮就可以了。修改下你的代码如下:

     import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.KeyAdapter;
    
    import java.awt.event.KeyEvent;
    
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.PrintStream;
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;
    import javax.swing.JToolBar;
    
    public class KeyBoardListener extends JFrame implements ActionListener {
        private JTextArea text_receiver;
        private JButton saveBtn;
        JPanel jPanel;
        JLabel UserName, PassWord;
        char charA;
    
        public KeyBoardListener() {
    
            this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    
            this.setTitle("Keylogger");
    
            this.addKeyListener(new MyKeyListener());
    
            this.text_receiver = new JTextArea();
            this.text_receiver.setEditable(true);
    
            this.getContentPane().add(new JScrollPane(this.text_receiver));
            this.text_receiver.append("请通过键盘输入信息,下面将会回显您输入的信息:");
    
            JToolBar toolBar = new JToolBar();
            this.getContentPane().add(toolBar, "South");
    
            saveBtn = new JButton("保存");
            saveBtn.addActionListener(this);
            toolBar.add(saveBtn);
    
            this.setSize(400, 400);
            this.setVisible(true);
        }
    
        public static void main(String[] args)
    
        {
    
            // TODO Auto-generated method stub
            KeyBoardListener m = new KeyBoardListener();
    
        }
    
        @Override
        public void actionPerformed(ActionEvent e) {
            if (e.getActionCommand().equals("保存"))
            {
                //保存信息
                String input  = this.text_receiver.getText();
                //写入到文件中
                System.out.println("input :"+input);
    
            }
    
        }
    }
    

    你可以在保存按钮事件里面保存用户在文本框里输入的信息。注意设置窗体大小的代码必须在所有的元素都初始化完成后,放在最后。就是
    this.setSize(400, 400);
    this.setVisible(true);必须放在最后,否则页面组件初始化时是看不见的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建