java,swing,awt,图形用户界面:怎么搜索一个本地文本文件并将该文件内容在图形界面的文本区显示

就是我想要用一个按钮来查找某文本并将文本内容显示在图形界面文本区,然后另外一个按钮可以修改文本内容... 就是我想要用一个按钮来查找某文本并将文本内容显示在图形界面文本区,然后另外一个按钮可以修改文本内容 展开
 我来答
雪飞潇潇
2018-01-10 · TA获得超过6274个赞
知道大有可为答主
回答量:1968
采纳率:91%
帮助的人:863万
展开全部

需要用到的知识点:

  • 掌握IO知识,可以做到:

搜索文件,读取文本内容,写入文本内容

  • 掌握swing/awt的事件处理机制,可以实现:

    点击某个按钮, 会触发相应的事件处理

效果图

参考代码 : 注意填写3个方法

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

//该窗口继承自JFrame. 实现了ActionListener接口
public class DemoFrame extends JFrame implements ActionListener {
JTextArea jta;//文本域
JButton jbRead, jbWrite;//按钮

public DemoFrame() {
jta = new JTextArea();
add(jta);
jbRead = new JButton("搜索文件并显示内容");
jbRead.addActionListener(this);

jbWrite = new JButton("修改内容并保存");
jbWrite.addActionListener(this);
JPanel jp = new JPanel();

jp.add(jbRead);
jp.add(jbWrite);
add(jp, BorderLayout.SOUTH);
setTitle("窗口");// 窗口标题
setSize(360, 285);// 窗口大小
setLocationRelativeTo(null);// 窗口居中
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 通常添加这行代码,点击窗口右下角的关闭时会结束程序
setVisible(true);

}

// main方法
public static void main(String[] args) {
new DemoFrame();

}

@Override
public void actionPerformed(ActionEvent e) {
JButton jb = (JButton) e.getSource();
if (jb == jbRead) {
getFilePath();// 搜索文件
jta.setText(readFile(filePath));// 读取文件并显示
} else if (jb == jbWrite) {
if (filePath != null) {
String str = jta.getText();
writeFile(str, filePath);//写入文件
}else {
JOptionPane.showMessageDialog(null, "请先点击<搜索文件并显示>按钮");
}
}
}

// 文件路径
private String filePath;

//需要完成方法1  搜索得到文件路径
private void getFilePath() {
filePath = "d://info.txt";
}

//需要完成方法2 读取文件得到文本内容
private String readFile(String fp) {
return "这是读取得到的文本内容";
}

// 需要完成方法3 把内容写入文件
private void writeFile(String str, String fp) {
JOptionPane.showMessageDialog(null, "保存成功");
}
}
更多追问追答
追问
搜索文件并没有键入内容啊?这样的话是直接打开文件显示内容啊。
追答
很简单 。你自己添加个输入框,一个搜索按钮不就可以了。点击按钮开始搜索
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式