2

于是,我有了这个文本编辑程序,它更多是作为一个表格来设置完成的。

我不确定如何创建程序的编辑器部分。一方面,由于 JTextArea,我会很高兴拥有某种布局,以便它根据输入的文本量展开和收缩(启用自动换行和所有)。

但是,我的文档由一系列问题(以及几个给定的答案)组成。问题中的行数 (JTextArea) 和答案中的行数 (JTextArea) 是可变的,就像每个问题给定答案的数量一样。

我的编辑区域由页面列组成(将根据需要添加和删除),并且我必须以某种方式检测某个问题何时超出页面范围(准确地说是其页边距)。

所以最后,我需要某种半刚性布局管理器。一方面,使用 setPreferredSize 使 JTextAreas 可调整大小,另一方面,当页面被填满到添加任何其他内容会破坏页面的美观外观并且程序移动到下一页时,这种情况会被检测到。

要记住的一件事是,我打算让用户在文档中添加/删除整个问题和一些答案,不一定在最后。

(整个内容仅用于将文档呈现给用户(并使其可编辑),稍后将其导出为 pdf,但那是另一回事了)

我什至不必使用 JTextAreas(如果你有更好的东西),你可以建议任何类型的外部 java 库,我只是想让它工作......

4

1 回答 1

2

您可以检测高度以显示具有固定宽度的 JEditorPane 的某些内容 http://java-sl.com/tip_text_height_measuring.html

因此,逐步添加您的内容,测量是否达到允许的高度。当实现创建一个新页面。

或者,您可以使用分页在 JEditorPane 中添加所有内容(在此处描述http://java-sl.com/articles.html

于 2012-08-20T07:22:26.157 回答