作者sunbysea (sunbysea)
看板java
標題Re: [問題] 請問如何做出類似console介面的圖形模式
時間Fri Feb 17 17:28:09 2006
感謝版主和qrtt1的回答
我會去看看java.awt.Canvas相關的說明
板主的程式碼我修改幾個小地方,如下
import org.eclipse.swt.widgets.Text;
private void squeeze2(){
int lineCount = textarea.getLineCount();
if(lineCount > MAX_LINE_LIMIT){
String textData = textarea.getText();
int newBeginIndex = textData.indexOf("\n") + 1;
textarea.setText(textData.substring(newBeginIndex));
}
}
謝謝
※ 引述《PsMonkey (痞子軍團團長)》之銘言:
: ※ 引述《sunbysea (sunbysea)》之銘言:
: : 我做了一個圖形化的介面,裡面有一個訊息提示框
: : 用的是org.eclipse.swt.widgets.Text類別
: : 每次有新的提示訊息就append到文字框裡面
: : 但問題來了,萬一訊息很多,一直append也很耗記憶體
: : 不知道哪一個類別可以做到類似一般console介面那樣
: : 當訊息超過特定行數後,舊的訊息會往上移動消失掉
: : 麻煩了解的人介紹一下或是指導一下相關的方法
: 我是不知道有沒有這種 class,不過我覺得有的可能性超級低
: 不要想那麼多嘛...
: 有時候自己動手作也是很好的阿
: 其實很簡單的... 你要不要自己重新想一下?
: 提示:String.split("\n")
: 哇咧~ 你還往下翻... 再想一下嘛...
: (以下用 JTextArea 作例子,沒有實際測試過... [逃])
: private void squeeze(){
: String[] lineData = textarea.getText().split("\n");
: if(lineData.length > MAX_LINE_LIMIT){
: textarea.setText("");
: for(int i=0; i<MAX_LINE_LIMIT; i++){
: textarea.append(lineData[lineData.length-MAX_LINE_LIMIT+i];
: }
: }
: }
: 看你是要用一個 thread 去跑
: 還是每次增加資料的時候就順便 call 這個 method
: ====
: code paint color by
: http://pt2.twbbs.org/product/PsCodeForBBS.htm \囧/
--
來PTT的法 輪 功版看看吧
(C)lass【 分組討論區 】=> (6) 活動中心 => (4) C-Mind => 8 FaLunDaFa
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.127.117.157
※ 編輯: sunbysea 來自: 140.127.117.157 (02/17 17:29)