【发布时间】:2012-08-18 11:26:36
【问题描述】:
所以,我有这个文本编辑程序,它设置的更多是作为一个表格来完成的。
我不确定如何创建程序的编辑器部分。 一方面,由于 JTextArea,我会很高兴有某种布局,以便它根据输入的文本数量(启用自动换行和所有)扩展和缩回。
但是,我的文档由一系列问题(以及几个给出的答案)组成。 问题中的行数 (JTextArea) 和答案中的行数 (JTextArea) 是可变的,就像每个问题给出的答案数一样。
我的编辑区域由页面列组成(将根据需要添加和删除),并且我必须以某种方式检测某个问题何时超出页面范围(准确地说是其页边距) .
所以最后,我需要某种半刚性布局管理器。一方面使用 setPreferredSize 使 JTextAreas 可调整大小,另一方面,当页面被填满到添加任何其他内容会破坏页面美观的程度时,会检测到程序移动到下一页的情况。
要记住的一件事是,我打算让用户在文档中添加/删除整个问题和一些答案,不一定在最后。
(整个内容仅用于向用户呈现文档(并使其可编辑),稍后将导出为 pdf,但这是另一回事)
我什至不必使用 JTextAreas(如果你有更好的东西),你可以建议任何类型的外部 java 库,我只是想让它工作......
【问题讨论】:
-
为什么不
JEditorPane- 用于编辑各种内容的文本组件。 -
看起来这需要滚动窗格,而不是一个特别聪明的布局。
-
没有滚动窗格。我代表一张 A4 纸,一切都必须是二维的,没有重叠。使用滚动窗格可能会解决定位组件的问题,但它并不能真正解决我的问题......
标签: java swing awt jtextarea layout-manager