2014-06-13 70 views
0

我有所有必需的實例變量和所有其他類,但我需要幫助找出一種方法來設置用戶在解決單詞的TextField中的進度,以最初顯示儘可能多的下劃線祕密字母。 我想是這樣,Hanging方法與Swing

//One for each letter 
theWordField.setText("" + 
    theWordField.getText().replace(
     theWordField.substring((secretWord.indexOf("A")), 
     secretWord.indexOf("A")), _)); 

但你不能使用子在文本字段,我不知道該怎麼辦呢

+2

請您自己和我們一個忙,儘量不要在一行上填入儘可能多的代碼。相反,每一步就可以逐步解決您的問題,從而獲得自己的代碼。它在小細節中可以解決您的問題。\ –

+0

考慮使用char數組或StringBuilder對象,然後根據需要交換char。 –

+0

有幾個問題。首先是你需要首先獲得WORDField的文本。 theWordField.getText()。substring解決了這個問題。但是,你有更多的問題,比如...如果你像@HovercraftFullOfEels一樣建議並按邏輯順序解決你的問題,你可以看到這個部分是沒有意義的。 – Cruncher

回答

0

只加載它在一個循環

例如:

String wordToGuess = "example"; 
String hidden = ""; 
for(int i = 0; i < wordToGuess.length(); i++){ 
    hidden += "_"; 
} 

theWordField.setText(hidden); 
0

使用theWordField.getText().substring()

1

你可以使用獲得的祕密字的長度:

secretWord.length(); 

一旦你知道字符串的長度,你可以通過依靠已插入前面的文本插入下劃線的同等數量的文本字段,或者創建自己的字符串並添加下劃線,如下所示:

String textFieldString = ""; 
for(int i=0; i<secretWord.length(); i++) { 
    textFieldString += "_"; 
} 

textField.setText(textFieldString);