2012-04-20 9 views
0

我是一個巨大的新手,我有一個程序通常將項目打印到Java控制檯窗口。我希望這個程序成爲用戶可以與之交互的窗口。我沒有訴諸對話框和麪板的原因是因爲這個程序需要多次打印到控制檯窗口。傳統對話框不會持續更新或混合已打印在盒子上的數據。我意識到通過創建模仿Java控制檯窗口的程序還有另一種方法。因爲我是一個noob,所有的java控制檯重定向問題和答案在這個網站已經吹了我的腦袋。誰能幫幫我嗎?在Java面板或對話框中連續更新

+0

http://docs.oracle.com/javase/tutorial/uiswing/index.html – user1329572 2012-04-20 18:37:32

+0

*「任何人都可以幫助我嗎?」*您的(具體)問題是什麼? – 2012-04-21 07:05:48

回答

1

簡短的回答是,每次你想更新文本框的內容時,都要再次調用setText函數。內容沒有「追加」功能:每次都必須提供全部內容。如果你想要一些模仿控制檯窗口的東西,那麼消息會繼續滾動,最簡單的方法就是將整個內容保存在一個StringBuilder中。每次你得到新的文本附加到StringBuilder,然後setText(myStringBuilder.toString)。

您可以,我supppose,寫mybox.setText(mybox.getText()+「新內容」)。這會有點低效,但可能不是什麼大問題。

我不確切地知道你在做什麼,但是試圖將控制檯輸出重定向到文本框聽起來像是更值得的麻煩。只要把你的數據放在文本框中:不要把它寫在別的地方,然後試着把它放回原處並放在你想要的地方。我想如果你有幾千行代碼寫入控制檯,現在你想讓它變成一個文本框,那麼在不必更改所有代碼的情況下可能會有價值。但是,控制檯應用程序的結構與GUI應用程序的結構非常不同,因此更改輸出語句可能是您必須重新進行處理的最少部分。