设有一批英文单词存放在一个数组中,编制一个图形界面程序浏览单词。在界面中安排一个标签显示单词,另有"上一个"、"下一个"两个按钮实现单词的前后翻动。(Java实现)(简单版)

时间: 2024-03-08 12:49:33 浏览: 13
好的,我可以为您提供一个简单的Java程序来实现这个功能。首先,您需要创建一个包含单词数组的类,例如: ```java public class WordList { private String[] words = {"apple", "banana", "cherry", "date", "elderberry"}; private int currentIndex = 0; public String getCurrentWord() { return words[currentIndex]; } public void nextWord() { if (currentIndex < words.length - 1) { currentIndex++; } } public void previousWord() { if (currentIndex > 0) { currentIndex--; } } } ``` 在这个类中,我们定义了一个字符串数组来存储单词,并使用一个整数来跟踪当前单词的索引。我们还定义了三个方法:`getCurrentWord()`方法返回当前单词,`nextWord()`方法将当前单词移动到下一个单词,`previousWord()`方法将当前单词移动到上一个单词。请注意,我们对移动到第一个和最后一个单词的尝试进行了检查,以确保不会出现数组越界错误。 接下来,我们可以创建一个简单的Swing用户界面来显示当前单词,并使用"上一个"和"下一个"按钮来翻转单词。以下是完整的Java程序: ```java import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class WordBrowser extends JFrame { private WordList wordList; public WordBrowser() { super("Word Browser"); wordList = new WordList(); JLabel wordLabel = new JLabel(wordList.getCurrentWord(), JLabel.CENTER); wordLabel.setFont(new Font("Serif", Font.PLAIN, 48)); add(wordLabel, BorderLayout.CENTER); JButton previousButton = new JButton("Previous"); previousButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { wordList.previousWord(); wordLabel.setText(wordList.getCurrentWord()); } }); add(previousButton, BorderLayout.WEST); JButton nextButton = new JButton("Next"); nextButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { wordList.nextWord(); wordLabel.setText(wordList.getCurrentWord()); } }); add(nextButton, BorderLayout.EAST); setSize(400, 200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); setVisible(true); } public static void main(String[] args) { new WordBrowser(); } } ``` 在这个程序中,我们创建了一个名为`WordBrowser`的类,该类继承自`JFrame`。我们在构造函数中创建了`WordList`对象,并将其存储在`wordList`实例变量中。然后,我们创建了一个`JLabel`来显示当前单词,并使用`BorderLayout`将其放置在窗口的中心。我们还创建了"上一个"和"下一个"按钮,并使用`ActionListener`添加了按钮的事件处理程序。当按钮被点击时,我们调用`WordList`对象的相应方法来移动当前单词,并更新标签的文本以显示新单词。 最后,我们设置窗口的大小,关闭操作和可见性,并在`main`方法中创建一个`WordBrowser`对象来启动程序。

相关推荐

最新推荐

recommend-type

C语言统计一篇英文短文中单词的个数实例代码

本文通过实例代码给大家介绍的C语言统计一篇英文短文中单词的个数,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下吧
recommend-type

Python实现统计英文单词个数及字符串分割代码

主要介绍了Python实现统计英文单词个数及字符串分割方法,本文分别给出代码实例,需要的朋友可以参考下
recommend-type

通过设计、编制、调试一个典型的语法分析程序

通过设计、编制、调试一个典型的语法分析程序,实现对词法分析程序所提供的单词序列进行语法检查和结构分析,进一步掌握常用的语法分析方法。
recommend-type

python将每个单词按空格分开并保存到文件中

主要介绍了python将每个单词按空格分开并保存到文件中,需要的朋友可以参考下
recommend-type

将字符串中由空格隔开的每个单词首字母大写

主要介绍了如何将字符串中的每个单词的首字母变为大写,需要的朋友可以参考下
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

如何用python编写api接口

在Python中编写API接口可以使用多种框架,其中比较流行的有Flask和Django。这里以Flask框架为例,简单介绍如何编写API接口。 1. 安装Flask框架 使用pip命令安装Flask框架: ``` pip install flask ``` 2. 编写API接口 创建一个Python文件,例如app.py,编写以下代码: ```python from flask import Flask, jsonify app = Flask(__name__) @app.route('/api/hello', methods=['GET']) def hello():
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。