【问题标题】:Add the characters of word into the JButtons将单词的字符添加到 JButtons
【发布时间】:2013-05-24 06:05:32
【问题描述】:

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

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

单词数组

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 循环。正如我上面提到的,JButtons 的数量取决于 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"。

【问题讨论】:

  • Buttons[i].setText(word.charAt(i))?并且循环索引不正确,应该是[0, word.length)
  • setPreferredSize( Java GUI 可能必须在多个平台、不同的屏幕分辨率和使用不同的 PLAF 上工作。因此,它们不利于组件的精确尺寸或放置。对于强大的 GUI,请改为使用布局管理器或它们的组合,以及用于空白空间的布局填充和边框来组织组件。为了尽快获得更好的帮助,请发帖SSCCE
  • @vidit:我更改了索引,但您建议的方法“Buttons[i].setText(word.charAt(i))”不起作用。它给了我一个错误.....
  • @CrazyPixi- 什么错误?
  • 如需尽快获得更好的帮助,请发帖SSCCE

标签: java arrays swing jbutton


【解决方案1】:

首先,正如在 cmets 中提到的,您需要为每个 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));

                }   

【讨论】:

    猜你喜欢
    • 2023-04-10
    • 2017-08-30
    • 2014-10-26
    • 2015-11-07
    • 2018-12-13
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多