我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么在Java中使用GUI实现文本文件

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么在Java中使用GUI实现文本文件

本篇文章给大家分享的是有关怎么在Java中使用GUI实现文本文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

一、实验题目

怎么在Java中使用GUI实现文本文件

二、分析

实验要求为:

  • 实现一个界面,界面中包含一个文本显示区和两个按钮(存档和读档)

  • 读档按钮作用是打开文件并读取内容,将内容显示在文本区中

  • 存档按钮作用是将文本区的内容写入到文件中。

简单分析一下,可以看出这样的要求奥,包含的要考察知识点主要有两个方向:

  • GUI绘制界面并添加事件

  • 使用IO流对象对文件进行读写

好的小伙伴们,废话不多说,下面就来的实现它。

三、实现

首先,让我们创建一个GUI界面,先秉持着一切从简的设计思想,预计它长这样:

怎么在Java中使用GUI实现文本文件

这样的布局方式,我们可以选择采用流布局实现,在容器中直接放入文本显示区和两个按钮,适当调整窗口大小即可实现:

import java.awt.Container;import java.awt.FlowLayout;import java.awt.TextArea;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;public class GUIDemo extends JFrame{//三个组件private JButton saveButton;private JButton loadButton;private TextArea textArea;//容器private Container container;public GUIDemo() {//设置titlesuper("File Demo");//设置流布局setLayout(new FlowLayout());//获取容器container = getContentPane();//三个组件textArea = new TextArea();saveButton = new JButton("save");loadButton = new JButton("load");//保存文件按钮点击事件saveButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {System.out.println("存档成功");}});//读入文件按钮点击事件loadButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {System.out.println("读档成功");}});//装填三个组件container.add(textArea);container.add(loadButton);container.add(saveButton);//调整大小setSize(500, 300);//显示setVisible(true);}public static void main(String[] args) {GUIDemo demo = new GUIDemo();demo.setDefaultCloseOperation(EXIT_ON_CLOSE);}}

代码的含义都在注释里面,就不啰嗦讲解了。

跑起来是这个样子:

怎么在Java中使用GUI实现文本文件

点击两下按钮测试点击事件,控制台输出:

怎么在Java中使用GUI实现文本文件

好的,GUI界面设计完毕,下面来为两个按钮编写点击事件。

首先要解决的一个问题是“目标文件”。由于题目中没有提到目标文件是否需要从文件系统中选取产生,那么我们不妨暂时将目标文件地址直接在代码中,令private static final String TARGET_FILE= "./temp.txt";

怎么在Java中使用GUI实现文本文件

那么在初始化页面时就应该先创建这个文件路径对应的file对象:

//目标文件private File targetFile;...//创建目标文件对象targetFile = new File(TARGET_FILE);if(targetFile.createNewFile()) {System.out.println("文件不存在,创建成功");}else {System.out.println("文件存在");}

这里需要注意几个问题:

创建目标文件需要使用createNewFile()方法,而非mkdir()方法。否则会创建成为文件夹而非文件

createNewFile()方法会抛出一个IOException,为了便于处理,这里直接选择将异常从构造方法和主方法中抛出;

怎么在Java中使用GUI实现文本文件
怎么在Java中使用GUI实现文本文件

怎么在Java中使用GUI实现文本文件

怎么在Java中使用GUI实现文本文件

处理好目标文件问题,两次启动程序,可以看到控制台输出:

怎么在Java中使用GUI实现文本文件
怎么在Java中使用GUI实现文本文件

哦吼,文件处理成功。

接着,就是在为两个按钮添加点击事件。在下面的处理中,对于IO流的选择,我们统一选择字符流.

首先是读档按钮,它的点击事件逻辑大致为:

创建目标文件的输入字符流

从输入流中读取文件中的内容并形成结果

关闭输入流

将读入的结果显示在文本显示区中

实现成为代码:

//读入文件按钮点击事件loadButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {try {//字符读入流FileReader reader = new FileReader(targetFile);//读入缓冲区char[] buffer = new char[1024];//读入结果StringBuffer result = new StringBuffer();//每次读入缓冲区的长度int len;//从读入流中读取文件内容并形成结果while((len = reader.read(buffer)) != -1) {result.append(buffer,0,len);}//关闭读入流reader.close();//更新文本显示区内容textArea.setText(result.toString());System.out.println("读档成功");} catch (FileNotFoundException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} catch (IOException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}});

在目标文件中写下Hello World!!,运行程序,点击load:

怎么在Java中使用GUI实现文本文件

nice~~

好的,接下来就剩下最后一项任务了,完成存档!

存档按钮的点击事件应该为:

打开目标文件字符输出流

获取当前文本显示区的内容

将文本显示区的内容通过输出流写入文件

关闭输出流

清空文本显示区

哦吼,最后一条是我加上去的,其实不清空也可以。

代码实现如下:

//保存文件按钮点击事件saveButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {try {//打开文件字符输出流FileWriter writer = new FileWriter(targetFile);//获取文本显示区文本String result = textArea.getText();//写入文件writer.write(result);//关闭输出流writer.close();//清空文本显示区内容textArea.setText("");System.out.println("存档成功");} catch (IOException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}});

在文本显示区中输入Hello Java!!,点击save:

怎么在Java中使用GUI实现文本文件

啥?你说文本框里面啥也没有?对,因为最后把内容清空了!

四、全部代码

好了,实现了上面的全部功能,最后把代码汇总在这里:

(谨慎抄袭哦)

import java.awt.Container;import java.awt.FlowLayout;import java.awt.TextArea;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import javax.swing.JButton;import javax.swing.JFrame;public class GUIDemo extends JFrame{private static final String TARGET_FILE = "./temp.txt";//三个组件private JButton saveButton;private JButton loadButton;private TextArea textArea;//容器private Container container;//目标文件private File targetFile;public GUIDemo() throws IOException {//设置titlesuper("File Demo");//设置流布局setLayout(new FlowLayout());//获取容器container = getContentPane();//创建目标文件对象targetFile = new File(TARGET_FILE);if(targetFile.createNewFile()) {System.out.println("文件不存在,创建成功");}else {System.out.println("文件存在");}//三个组件textArea = new TextArea();saveButton = new JButton("save");loadButton = new JButton("load");//保存文件按钮点击事件saveButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {try {//打开文件字符输出流FileWriter writer = new FileWriter(targetFile);//获取文本显示区文本String result = textArea.getText();//写入文件writer.write(result);//关闭输出流writer.close();//清空文本显示区内容textArea.setText("");System.out.println("存档成功");} catch (IOException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}});//读入文件按钮点击事件loadButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {try {//字符读入流FileReader reader = new FileReader(targetFile);//读入缓冲区char[] buffer = new char[1024];//读入结果StringBuffer result = new StringBuffer();//每次读入缓冲区的长度int len;//从读入流中读取文件内容并形成结果while((len = reader.read(buffer)) != -1) {result.append(buffer,0,len);}//关闭读入流reader.close();//更新文本显示区内容textArea.setText(result.toString());System.out.println("读档成功");} catch (FileNotFoundException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} catch (IOException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}});//装填三个组件container.add(textArea);container.add(loadButton);container.add(saveButton);//调整大小setSize(500, 300);//显示setVisible(true);}public static void main(String[] args) throws IOException {GUIDemo demo = new GUIDemo();demo.setDefaultCloseOperation(EXIT_ON_CLOSE);}}

常用的java框架有哪些

1.SpringMVC,Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架。2.Shiro,Apache Shiro是Java的一个安全框架。3.Mybatis,MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。4.Dubbo,Dubbo是一个分布式服务框架。5.Maven,Maven是个项目管理和构建自动化工具。6.RabbitMQ,RabbitMQ是用Erlang实现的一个高并发高可靠AMQP消息队列服务器。7.Ehcache,EhCache 是一个纯Java的进程内缓存框架。

以上就是怎么在Java中使用GUI实现文本文件,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么在Java中使用GUI实现文本文件

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么在Java中使用GUI实现文本文件

本篇文章给大家分享的是有关怎么在Java中使用GUI实现文本文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、实验题目二、分析实验要求为:实现一个界面,界面中包含一个文本显
2023-06-15

怎么用vbscript实现在文本文件中搜索两个项

这篇文章主要介绍了怎么用vbscript实现在文本文件中搜索两个项,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。代码如下:Const ForReading = 1 blnF
2023-06-08

利用Java怎么将本地文件显示在JSP文件中

今天就跟大家聊聊有关利用Java怎么将本地文件显示在JSP文件中,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体代码如下: 2023-05-31

java中怎么实现保存文件到本地

知识补充:File类以抽象的方式代表文件名和目录路径名,该类主要用于文件和目录的创建、文件的查找和文件的删除等。FileOutputStream类用来创建一个文件并向文件中写数据,如果该流在打开文件进行输出前,目标文件不存在,那么该流会创建该文件。保存方法:首
java中怎么实现保存文件到本地
2018-12-25

怎么在Java中使用GUI中的事件绑定

怎么在Java中使用GUI中的事件绑定?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。程序绑定的概念:绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。
2023-05-30

Python文本终端GUI框架怎么使用

本篇内容主要讲解“Python文本终端GUI框架怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python文本终端GUI框架怎么使用”吧!Curses首先出场的是 Curses[1]。C
2023-07-06

C#怎么使用Ueditor富文本框实现上传文件

本篇内容介绍了“C#怎么使用Ueditor富文本框实现上传文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用背景项目中需要用的富文本框去
2023-07-02

怎么在java中使用FTP下载文件

怎么在java中使用FTP下载文件?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了面
2023-06-14

Java中怎么处理大文本文件

今天就跟大家聊聊有关Java中怎么处理大文本文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。集算器与Java应用程序的集成结构如下:下面举例说明集算器协助JAVA查询大文本的基本过
2023-06-17

VB.NET中怎么实现读写文本文件操作

VB.NET中怎么实现读写文本文件操作,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。VB.NET读写文本文件为了把text保存到文件,创建一个基于FileStream的Stre
2023-06-17

怎么在Java中使用IO流读写文件

本篇文章为大家展示了怎么在Java中使用IO流读写文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.读文件public class ReadFromFile { /** * 以字节为单位读
2023-05-31

怎么在Java中使用tar.gz 包压缩文件

今天就跟大家聊聊有关怎么在Java中使用tar.gz 包压缩文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。如何通过 Java 打包文件?2.1 添加 Maven 依赖
2023-06-15

如何利用 Java 实现文件压缩?(怎么用java实现压缩文件)

在Java编程中,实现文件压缩是一项常见且实用的技能。以下将详细介绍如何使用Java实现压缩文件的步骤。一、导入相关库在Java中,要实现文件压缩功能,需要导入java.util.zip
如何利用 Java 实现文件压缩?(怎么用java实现压缩文件)
Java2024-12-14

Java怎么使用字符流读写非文本文件

今天小编给大家分享一下Java怎么使用字符流读写非文本文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。使用字符流读取文件(
2023-07-06

使用Java怎么将字符串写入文本文件

今天就跟大家聊聊有关使用Java怎么将字符串写入文本文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、Filewriter与File——-将字符串写入文本文件public sta
2023-05-30

使用java怎么实现一个英文文本单词翻译器

今天就跟大家聊聊有关使用java怎么实现一个英文文本单词翻译器,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。直接上代码:package fanyi;import java.io.Bu
2023-05-31

怎么用java实现压缩文件

你可以使用Java的ZipOutputStream类来压缩文件。下面是一个简单的例子:import java.io.File;import java.io.FileInputStream;import java.io.FileOutp
2023-10-23

如何在 Java 中实现读取文件进度条?(java怎么实现读取文件进度条)

在Java编程中,有时需要读取大文件并显示读取进度,这可以通过实现读取文件进度条来实现。以下是实现Java读取文件进度条的详细步骤:一、创建文件读取流和进度条相关组件首先,我们需要创建一个文件输入流来读取文件。同时,创建
如何在 Java 中实现读取文件进度条?(java怎么实现读取文件进度条)
Java2024-12-20

使用Java怎么实现文本的加密和解密

今天就跟大家聊聊有关使用Java怎么实现文本的加密和解密,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。java基本数据类型有哪些Java的基本数据类型分为:1、整数类型,用来表示整数
2023-06-14

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录