Re: [問題] 請問如何做出類似console介面的圖形模式

看板java作者 (sunbysea)時間19年前 (2006/02/17 17:24), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
感謝版主和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)
文章代碼(AID): #13zPPPVU (java)
文章代碼(AID): #13zPPPVU (java)