我需要让 JButton 显示字母表中的随机键。这是到目前为止我的代码:
public void actionPerformed (ActionEvent e) {
Random r = new Random();
char c = (char)(r.nextInt(26) + 'a');
String[] myStringArray = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
JButton b = new JButton(myStringArray[c]);
JButton b2 = new JButton(myStringArray[c]);
JButton b3 = new JButton(myStringArray[c]);
JButton b4 = new JButton("");
}
但我收到错误。我究竟做错了什么?另外,我想实现一个 KeyListener,这样当 JButton 上显示的随机键按下时,它将使该 jbutton 消失并在顶部弹出一个新的按钮。感谢您的帮助。
最佳答案
- 我认为您不应该每次调用时都创建
Random
对象。 c
用作数组索引,因此它应该是int
,而不是char
。另外,请勿将'a'
添加到c
,因为它只会导致超出范围的异常。
试试这个(未测试):
private Random r = new Random(); // a field of this class
public void actionPerformed (ActionEvent e) {
int c = r.nextInt(26);
String[] myStringArray = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
JButton b = new JButton(myStringArray[c]);
JButton b2 = new JButton(myStringArray[c]);
JButton b3 = new JButton(myStringArray[c]);
JButton b4 = new JButton("");
}
关于java - 将数组列表中的键放到 jbutton 上?还有如何实现 KeyListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33827419/