所以,我有这个文本编辑程序,它更多地被设置为要完成的表单。
我不确定如何创建程序的编辑器部分。 一方面,由于 JTextArea,我很高兴拥有某种布局,以便它根据输入的文本量展开和缩回(启用自动换行等)。
但是,我的文档由一系列问题(以及几个给出的答案)组成。 问题 (JTextArea) 和答案 (JTextArea) 中的行数是可变的,就像每个问题给出的答案数一样。
我的编辑区域由页面列组成(将根据需要添加和删除),并且我必须以某种方式检测某个问题何时超出页面范围(或其页边距,准确地说) .
所以最后,我需要某种半刚性布局管理器。一方面使 JTextAreas 通过 setPreferredSize 调整大小,另一方面,当页面被填满到添加任何其他内容会破坏页面美观的程度时,会检测到这种情况,并且程序会移动到下一页。
需要记住的一件事是,我打算让用户能够在文档中添加/删除整个问题和一些答案,而不一定是在最后。
(整个内容仅用于向用户呈现文档(并使其可编辑),稍后将其导出为 pdf,但那是另一个故事了)
我什至不必使用 JTextAreas (如果你有更好的东西),你可以建议任何类型的外部 java 库,我只是想让它工作......
最佳答案
您可以检测高度以固定宽度显示 JEditorPane 的某些内容 http://java-sl.com/tip_text_height_measuring.html
因此,请逐步添加您的内容,测量是否达到允许的高度。完成后创建一个新页面。
或者,您可以使用分页在 JEditorPane 中添加所有内容(此处描述 http://java-sl.com/articles.html )
关于java - JTextArea 和显示格式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12018156/