java获取重复操作的按钮
我正在为我的第一个java项目制作一个简单的应用程序。 它组合各种字符串以产生输出。例如:名字
然而,我遇到了一个障碍,我把我的GUI都布置好了,所有的字符串都编好了,它们都会生成一个随机结果,并在被告知时将其写入文本标签,但是如果我再次单击按钮-nada。没什么
我的问题是-我如何让一个按钮重复我让它做的过程?没有人能向我解释这一点。我不是在寻找一个快速解决办法,而是一个“如何做”,因为我希望学习。:)
以下是我的代码的简化版本:
public static String[] name1 = {
"a", "b", "c", "d", "e", "f", "g", "h", "i",
"j", "k", "l", "n", "o", "p", "q", "r", "s",
"t", "u", "v", "w", "x", "y", "z"
};
public static String[] name2 = {
"oh noes", "its not working","sad face"
};
public static int name1length = name1.length;
public static int name2length = name2.length;
public static int rand1 = (int) (Math.random() * name1length);
public static int rand2 = (int) (Math.random() * name2length);
public static String phrase = name1[rand1] + " " + name2[rand2];
# 1 楼答案
问题是,变量是静态的,它们只初始化一次,这意味着短语只计算一次
假设每次都需要不同的
phrase
,然后每次单击按钮时重新初始化它们。从rand1
、rand2
和phrase
中删除单词static
并重新编译应该会为您指明正确的方向也许像
然后使用新的RandomLabeller()。用短语代替任何类别。短语更好的是,用一些方法,比如
getPhrase()
来隔离这些# 2 楼答案
考虑两件事: