iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么在Java中使用GUI实现文本文件
  • 207
分享到

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

2023-06-15 04:06:15 207人浏览 八月长安
摘要

本篇文章给大家分享的是有关怎么在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.springMVCspring 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实现文本文件,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网精选频道。

--结束END--

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

本文链接: https://www.lsjlt.com/news/277682.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 怎么在Java中使用GUI实现文本文件
    本篇文章给大家分享的是有关怎么在Java中使用GUI实现文本文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、实验题目二、分析实验要求为:实现一个界面,界面中包含一个文本显...
    99+
    2023-06-15
  • 教你用Java GUI实现文本文件的读写
    目录一、实验题目二、分析三、实现四、全部代码一、实验题目 二、分析 实验要求为: 实现一个界面,界面中包含一个文本显示区和两个按钮(存档和读档) 读档按钮作用是打...
    99+
    2024-04-02
  • 怎么用vbscript实现在文本文件中搜索两个项
    这篇文章主要介绍了怎么用vbscript实现在文本文件中搜索两个项,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。代码如下:Const ForReading ...
    99+
    2023-06-08
  • 利用Java怎么将本地文件显示在JSP文件中
    今天就跟大家聊聊有关利用Java怎么将本地文件显示在JSP文件中,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体代码如下:    <img na...
    99+
    2023-05-31
    java ava
  • Python文本终端GUI框架怎么使用
    本篇内容主要讲解“Python文本终端GUI框架怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python文本终端GUI框架怎么使用”吧!Curses首先出场的是 Curses[1]。C...
    99+
    2023-07-06
  • 怎么在Java中使用GUI中的事件绑定
    怎么在Java中使用GUI中的事件绑定?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。程序绑定的概念:绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。...
    99+
    2023-05-30
    java gui
  • 怎么在java中使用FTP下载文件
    怎么在java中使用FTP下载文件?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了面...
    99+
    2023-06-14
  • C#怎么使用Ueditor富文本框实现上传文件
    本篇内容介绍了“C#怎么使用Ueditor富文本框实现上传文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用背景项目中需要用的富文本框去...
    99+
    2023-07-02
  • Java中怎么处理大文本文件
    今天就跟大家聊聊有关Java中怎么处理大文本文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。集算器与Java应用程序的集成结构如下:下面举例说明集算器协助JAVA查询大文本的基本过...
    99+
    2023-06-17
  • VB.NET中怎么实现读写文本文件操作
    VB.NET中怎么实现读写文本文件操作,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。VB.NET读写文本文件为了把text保存到文件,创建一个基于FileStream的Stre...
    99+
    2023-06-17
  • 怎么在Java中使用IO流读写文件
    本篇文章为大家展示了怎么在Java中使用IO流读写文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.读文件public class ReadFromFile { public static...
    99+
    2023-05-31
    java io流 ava
  • 使用Java怎么将字符串写入文本文件
    今天就跟大家聊聊有关使用Java怎么将字符串写入文本文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、Filewriter与File——-将字符串写入文本文件public&nbs...
    99+
    2023-05-30
    java 字符串
  • Java怎么使用字符流读写非文本文件
    今天小编给大家分享一下Java怎么使用字符流读写非文本文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。使用字符流读取文件(...
    99+
    2023-07-06
  • 怎么在Java中使用tar.gz 包压缩文件
    今天就跟大家聊聊有关怎么在Java中使用tar.gz 包压缩文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。如何通过 Java 打包文件?2.1 添加 Maven 依赖<de...
    99+
    2023-06-15
  • 使用java怎么实现一个英文文本单词翻译器
    今天就跟大家聊聊有关使用java怎么实现一个英文文本单词翻译器,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。直接上代码:package fanyi;import ...
    99+
    2023-05-31
    java
  • asp.net中怎么利用Ajax实现文本文件静态分页
    asp.net中怎么利用Ajax实现文本文件静态分页,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 服务端部...
    99+
    2024-04-02
  • 怎么用java实现压缩文件
    你可以使用Java的ZipOutputStream类来压缩文件。下面是一个简单的例子: import java.io.File; i...
    99+
    2023-10-23
    java
  • 怎么使用Git在本地删除文件
    随着代码版本控制工具的发展,Git 已成为了开发者们使用最广泛的工具之一。它可以让你轻松地管理代码,并且可以帮助你协作开发。在日常开发中,我们难免会遇到需要删除本地文件的情况。比如,我们可能在本地误删了一些无用的文件,或者需要删除一些敏感文...
    99+
    2023-10-22
  • 在Java Web中Excel文件如何使用POI实现导出
    在Java Web中Excel文件如何使用POI实现导出?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。采用Spring mvc架构:Controller层代码如下@Cont...
    99+
    2023-05-31
    java web poi
  • 使用Java怎么实现文本的加密和解密
    今天就跟大家聊聊有关使用Java怎么实现文本的加密和解密,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。java基本数据类型有哪些Java的基本数据类型分为:1、整数类型,用来表示整数...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作