第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

動態(tài)添加的內(nèi)容無法正確滾動(JScrollPane 內(nèi)的 JTextPane)

動態(tài)添加的內(nèi)容無法正確滾動(JScrollPane 內(nèi)的 JTextPane)

寶慕林4294392 2021-08-04 10:31:44
以下行為JScrollPane(JTextPane)似乎高于我的工資:我在一個 scrollPane 里面添加了一個 textPane 到我的框架中。    textPane = new JTextPane();     scrollPane = new JScrollPane(textPane);如果我通過 設置 textPane 的內(nèi)容,則 textPanetextPane.setText("MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM")正在擴展并且 scrollPane 正在正確執(zhí)行其工作。但是,如果我textPane用來重定向out和err使用MessageConsole,它會進行某種自動換行。我檢查了 MessageConsole 的來源,它不會改變textPane. 看來這textPane.getDocument().insertString(.)會導致textPane無法正確擴展。    MessageConsole mc = new MessageConsole(textPane);     mc.redirectOut();     mc.redirectErr(Color.RED, null);     mc.setMessageLines(100);當通過 提供內(nèi)容時,如何避免發(fā)生自動換行textPane.getDocument().insertString(.)?我已經(jīng)嘗試刪除此換行符 3 個多小時沒有成功,非常感謝您的幫助。
查看完整描述

1 回答

?
精慕HU

TA貢獻1845條經(jīng)驗 獲得超8個贊

在第一種情況下,當您添加一長串沒有空格的文本時,文本沒有地方可以拆分為新行,因此首選寬度似乎變成了長文本行的寬度。

所有其他行上的文本不需要換行,因為它們適合首選寬度。

但是,在第二種情況下,由于存在空格,因此文本窗格的默認行為是在視口已滿時換行文本。

這種包裝是由ScrollableJTextPane 接口的默認實現(xiàn)引起的。該getScrollableTracksViewportWidth()方法的默認實現(xiàn)返回true,它基本上嘗試適應視口寬度中的所有文本,使其在可能的情況下?lián)Q行。

如果您不希望文本換行,請查看No Wrap Text Pane。它展示了如何Scrollable通過讓getScrollableTracksViewportWidth()方法 return來更改文本窗格的默認行為false。


查看完整回答
反對 回復 2021-08-04
  • 1 回答
  • 0 關(guān)注
  • 320 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號