不像JTextArea
,JTextPane
沒有選項可以關閉換行。我找到一個solution來關閉JTextPane
s中的換行,但對於這樣一個簡單的問題,它似乎過於冗長。有一個更好的方法嗎?JTextPane線包裝
7
A
回答
10
參見No Wrap Text Pane。以下是鏈接中包含的代碼。
JTextPane textPane = new JTextPane();
JPanel noWrapPanel = new JPanel(new BorderLayout());
noWrapPanel.add(textPane);
JScrollPane scrollPane = new JScrollPane(noWrapPanel);
2
0
的No Wrap Text Pane還規定,不需要在JPanel
包裹JTextPane
的替代解決方案,而不是將其覆蓋getScrollableTracksViewportWidth()
。我更喜歡這種解決方案,但它對我來說並不適用 - 我注意到,如果視口比JTextPane
的最小寬度更窄,仍會發生包裝。
我發現JEditorPane
覆蓋getPreferredSize()
嘗試和'固定'的東西,當視口太窄,通過返回最小寬度,而不是首選寬度。這可以通過再次重寫getPreferredSize()
說解決「不,真的 - 我們總是希望實際首選大小」:
public class NoWrapJTextPane extends JTextPane {
@Override
public boolean getScrollableTracksViewportWidth() {
// Only track viewport width when the viewport is wider than the preferred width
return getUI().getPreferredSize(this).width
<= getParent().getSize().width;
};
@Override
public Dimension getPreferredSize() {
// Avoid substituting the minimum width for the preferred width when the viewport is too narrow
return getUI().getPreferredSize(this);
};
}
相關問題
- 1. JTextPane不包裝文本
- 2. JTextPane將不會包裝
- 3. 如何使用GridBagLayout在線包裝JTextPane中的文本
- 4. 在JTextPane中包裝長單詞(Java 7)
- 5. Eclipse線包裝不包裝
- 6. JTextPane和水平線
- 7. 閱讀包裝線
- 8. jtextpane不包裹文本
- 9. Stargazer筆記線包裝?
- 10. AXI總線到Wishbone包裝
- 11. PyCharm Vim插件線包裝
- 12. Django和包裝線問題
- 13. 在線包裝在SMTP
- 14. IText html到pdf包裝線
- 15. 在JTextPane中繪製水平線
- 16. 線程JFrame需要更新JTextPane
- 17. 如何在JTextPane中實現單詞包裝,以及如何讓它包裝不帶空格的字符串?
- 18. 在JSP中包含JTextArea或JTextPane?
- 19. 當窗格寬度超過指定值時,將文本包裝在JTextPane中
- 20. JAXB包裝包裝
- 21. 無法安裝離線原子包
- 22. 破碎的bash提示包裝線
- 23. Grails自動格式線包裝
- 24. PHP:包裝的測試線長度
- 25. 創建NPM包的離線安裝
- 26. 從包裝線中停止IntelliJ
- 27. 通過特定路線包裝文件
- 28. vim:用加號標記包裝線
- 29. 使用jQuery分別處理包裝線
- 30. 簡化VCL線程包裝器代碼
在包裹'JTextPane'唯一一個'JPanel'做的是禁用垂直滾動條。 – Jeffrey
@Jeffrey,在XP上使用JDK6_7(和更早的版本)對我來說工作正常。如果它不起作用,我認爲我不會去創建博客條目的所有麻煩。張貼你的SSCCE,展示你如何測試它。 – camickr
發佈圖像的SSCCE。 – Jeffrey