这些是我的代码当我从文本文件中读取行时,我的标签问题我可以添加标签“_”,它们等于之前程序之路的单词大小。 我有问题创建标签,我希望你理解我的问题&如果可以,你可以给我一个解决方案吗?
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();
}
}
}
答案 0 :(得分:2)
myword
是一个Strings
的数组,而不是一个String
,因此您需要替换:
wordToFindLabels = new JLabel[myword.length()];
带
wordToFindLabels = new JLabel[myword.length];
您可以将变量重命名为mywordArray
,以避免混淆。
还使用布局管理器而不是使用绝对定位(空布局)。
答案 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);
}