java - 将数组列表中的键放到 jbutton 上?还有如何实现 KeyListener

标签 java

我需要让 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/

相关文章:

java - 带有列表的线程

java.lang.NoClassDefFoundError : Could not initialize class biz. 图盖.dao.HibernateUtil

java - 在这里使用 new Integer 有什么好处?

java - HIbernate 查询语言错误

java - 线程中出现异常 "JavaFX Application Thread"java.lang.OutOfMemoryError : Java heap space

java - Wicket:动态添加 TextField/Panel

Java8 : Stream merge two lists

java - Spring amqp消费者在网络故障后不会重新连接到队列

java - 矩形类和 containsPoint 方法

java - 如何将 "Nov 17, 2016 7:26:57 PM"形式的日期字符串解析为日期?