如何为刽子手游戏添加标签

时间:2012-11-13 23:03:52

标签: java user-interface

这些是我的代码当我从文本文件中读取行时,我的标签问题我可以添加标签“_”,它们等于之前程序之路的单词大小。 我有问题创建标签,我希望你理解我的问题&如果可以,你可以给我一个解决方案吗?

 public class HangGame extends JFrame {

     JLabel lbl;
    JLabel word ;
    private  String[]myword = new String [20];
   Game() {

}
    void readfile () {
Properties prob = new Properties();

try{

    for(int x=0; x<n; x++){
    }
    }}
    private void initLabelPanel() {
    //craete array of labels the size of the word
        letterHolderPanel = new JPanel();
        int count =0;

//如果你运行我的代码我对这个数组[myword.length()]有问题,编译器找不到它。

wordToFindLabels = new JLabel[myword.length()];
    //Initiate each labels text         add tp array and to letter holder panel
    for (int i = 0; ih; i++) {JLabel lbl = new JLabel("_");

    letterHolderPanel.add(lbl);
    lbl.setBounds();
    }
    }


}

2 个答案:

答案 0 :(得分:2)

myword是一个Strings的数组,而不是一个String,因此您需要替换:

wordToFindLabels = new JLabel[myword.length()];

wordToFindLabels = new JLabel[myword.length];

您可以将变量重命名为mywordArray,以避免混淆。

还使用布局管理器而不是使用绝对定位(空布局)。

请参阅:Doing Without a Layout Manager (Absolute Positioning)

答案 1 :(得分:1)

length是属性而不是方法相应地更改代码

wordToFindLabels = new JLabel[myword.length];  

现在你的代码将是



for (int i = 0; i < wordToFindLabels.length; i++) {
String labelValue="";
if(myword[i] != null) {
for (int j = 0; j < myword[i].length(); j++){
  labelValue+="_"
}
}
JLabel lbl = new JLabel(labelValue);
    wordToFindLabels[i] = lbl;

    letterHolderPanel.add(lbl);
    lbl.setBounds(30, 60, 20, 20);
    }