首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java ActionListener历史

Java ActionListener历史
EN

Stack Overflow用户
提问于 2010-11-04 07:13:14
回答 2查看 264关注 0票数 1

我做了一个带有图形用户界面的java程序,它可以简单地读取txt文件。我有一些功能,比如显示目录,转到txt文件的特定页面,或者在txt文件中搜索单词。我也有一堆按钮来执行这些功能。我的其中一个按钮只是想要像“后退”按钮那样返回。

我尝试将JTextArea的内容保存到String对象中,并将其添加到堆栈中。每次我按下back按钮,我都会得到我放入堆栈的最后一个string对象,并将JTextArea设置为这个string对象。

不幸的是,在我看来效率并不高。我面临着很多错误。有没有其他方法可以达到这个目的:保存动作?

EN

回答 2

Stack Overflow用户

发布于 2010-11-04 07:44:40

如果您(通过setText()方法)更新JTextArea中的文本,则应该可以执行以下操作:

代码语言:javascript
复制
class TextAreaHistory {

HashMap<Integer, String> textAreaHistory = new HashMap<Integer, String>();

int counter = 0;

public void addToHistory(String s) {
   textAreaHistory.put(counter, s);
   counter++;
}

public String getHistory() {
   return textAreaHistory.get(this.counter-1);
   counter--;
}
}
票数 0
EN

Stack Overflow用户

发布于 2010-11-04 07:48:49

最好是存储索引引用(例如文件中的字符数),而不是字符串。然后有一个方法,它从给定的索引字符开始显示文本文件中的一个页面。

每当用户单击目录中的页面或搜索单词等时,将所显示页面的第一个字符的索引添加到堆栈中。当按下back按钮时,将索引弹出堆栈并显示相应的页面。

只有在实现文本编辑器(具有撤消功能)而不是文本查看器时,存储字符串才是有用的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4092496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档