将单词的字符添加到JButtons中

时间:2013-05-24 06:05:32

标签: java arrays swing jbutton

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

我使用 For loop 在Panel上绘制JButtons。 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)];

这是用于绘制JButtons的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 “&amp;另一个JButton会显示“O”这个词。

1 个答案:

答案 0 :(得分:1)

首先,正如在提到的评论中,您需要为每个JButton设置charAt(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));

                }