所以,我有这个文本编辑程序,它被设置为一个待完成的表格。
我不确定如何创建程序的编辑器部分。 一方面,由于JTextArea,我很高兴有一些布局(s),以便根据输入的文本量(启用自动换行和全部)进行扩展和收缩。
但是,我的文件是由一系列问题(以及几个给出的答案)组成的。 问题(JTextArea)和答案(JTextArea)中的行数是可变的,就像每个问题的给定答案数一样。
我的编辑区域是由页面列组成的(可以根据需要添加和删除),我不知何故必须检测某个问题何时超出页面边界(或者其边距,确切地说)
所以最后,我需要某种半刚性的布局管理器。一方面可以使用setPreferredSize调整JTextAreas的大小,另一方面,当页面被填充到添加任何其他内容的点时,会检测到页面的aestetic外观并且程序移动到下一页。
要记住的一件事是,我打算让用户在文档中添加/删除整个问题和一些答案,而不一定在最后。
(整个过程仅用于向用户呈现文档(并使其可编辑),稍后将其导出为pdf,但这是另一个故事)
我甚至不必使用JTextAreas(如果你有更好的东西),你可以建议任何外部java库,我只想让它工作......
答案 0 :(得分:2)
您可以检测高度以显示具有固定宽度的JEditorPane的某些内容 http://java-sl.com/tip_text_height_measuring.html
因此,逐步添加内容,测量是否达到允许的高度。当达到创建新页面时。
或者,您可以使用分页在JEditorPane中添加所有内容(此处描述为http://java-sl.com/articles.html)