在我的刽子手应用程序中,我想要隐藏一个假设被猜到的单词,用“_”我终于找到了一个网站,有人解释如何做到这一点但是当我将他的代码与我的融合时,我似乎得到了错误我跑的时候......
这是我找到代码的网站
http://www.jcreator.com/forums/index.php?showtopic=7761
这就是我尝试使用他的代码的方式
StringBuffer original = new StringBuffer(readWord());
StringBuffer secret = new StringBuffer(hideWord()) ;
StringBuffer hidden;
public StringBuffer hideWord(){
for (int i = 0; i < original.length(); i++){
hidden.append("_ ");
}
hidden.deleteCharAt(hidden.length()-1);
return hidden;
}
public JButton getButton(final String text){
final JButton button = new JButton(text);
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String s = button.getText();
int index = original.indexOf(s);
if(index != -1){
hidden.deleteCharAt(index*2);
hidden.insert(index *2, s);
}
else{
JOptionPane.showMessageDialog(null, "There is no " + text );
error++;
if(error >= 0) imageName = "hangman1.jpg";
if(error >= 1) imageName = "hangman2.jpg";
if(error >= 2) imageName = "hangman3.jpg";
if(error >= 3) imageName = "hangman4.jpg";
if(error >= 4) imageName = "hangman5.jpg";
if(error >= 5) imageName = "hangman6.jpg";
if(error >= 7) imageName = "hangman7.jpg";
}
}
});
return button;
}
并且在显示单词时我的JLabel似乎遇到问题所以我更改了它.toString
JLabel word = new JLabel(secret.toString());
有人可以告诉我,我的应用程序不想运行,如果我融合代码的方式是正确的吗?
答案 0 :(得分:3)
StringBuffer
不是String
。
当您调用new JLabel(secret)
时,您要求编译器找到JLabel
的构造函数,该构造函数将StringBuffer
作为参数,没有任何参数。
正如HovercraftFullOfEels所述,在实施任何其他人的想法之前,了解这些想法是什么以及它们如何运作,不仅能让你获得更好的结果,还能成为更好的开发者;)