1

如何将单词的字符添加到 JButtons 中?

我正在使用For 循环在面板上绘制 JButton。JButton 的数量取决于单词的长度。我正在使用数组在其中添加单词。

一组单词

String words[] = {"JAVA" , "FLOAT" , "VOID", "MAIN" , "STATIC", "FINAL", "PRIVATE" , "CHAR" , "ÏF" , "ELSE", "WHILE" ,
                   "DO" , "BOOLEAN" , "TRY" , "CATCH" , "SWITCH" , "CASE" , "STRING" , "INT" , "DOUBLE"};

这是从单词数组中选择随机单词的字符串

String word = words[myRandom.nextInt(words.length)];

这是绘制 JButton 的 For 循环。正如我上面提到的,JButton 的数量取决于 WORD 的长度

for(int i = 1; i <= word.length(); i++)
                {
                    Buttons[i] = new JButton();
                    Buttons[i].setPreferredSize(new Dimension(80, 80));

                    gridConstraints.gridx = 0;
                    gridConstraints.gridy = 0;

                    second.add(Buttons[i]);
                    second.add(Box.createHorizontalStrut(20));

                }  

所以现在我的问题是,我想在 JButtons 上显示那个词

例如: Word 是DO,因此,这将允许For 循环绘制两个 JButton,现在我想要,一个 Jbutton 将显示单词“D”而另一个 JButton 将显示单词“O”。

4

1 回答 1

1

首先,正如评论中提到的,您需要为每个 JButton 设置 charAt(i)。正如我检查的那样,您的i值是正确的。而 charAt(i) 从零开始。所以,因为你有 i = 1 的值,你只需要从那里减去 1(i-1),这肯定会工作...... :)

                   for(int i = 1; i <= word.length(); i++)
                {

                    Buttons[i] = new JButton();
                    Buttons[i].setPreferredSize(new Dimension(80, 80));

                    Buttons[i].setText(word.charAt(i-1) + ""); 
                    second.add(Buttons[i]);
                    second.add(Box.createHorizontalStrut(20));

                }   
于 2013-05-24T07:25:50.563 回答