【发布时间】:2013-01-02 04:08:36
【问题描述】:
我正在制作一种编辑器,它有一个块(JPanel)而不是单词(带有类似文本的流和光标 - 闪烁的 JPanel)。
在以下情况下,我需要一种在现有组件之间添加 Swing 组件(新块)的快速方法:
- 在 JPanel 之间单击鼠标以将光标放在那里
- 在现有元素之间添加新的块元素。
问题是,重建文档(.removeAll() 和 .add() 所有块)需要 3-4 秒,文档包含 300-400 个块。
我可以通过在每个块之间插入空块并将光标放在那里来轻松加快光标定位,但是如果我需要在现有块之间添加一个新的干净块怎么办?
我知道某种方法是创建我自己的“渲染引擎”,但我可以使用 Swing 组件更轻松地实现这一点吗?
【问题讨论】:
-
你为什么使用 JPanel 作为文本?
-
您真的需要订单吗?简单地
add()ing 新组件并使用布局管理器将其放置在您想要的位置怎么样?或者,您是否尝试过add(Component comp, int index)(docs.oracle.com/javase/7/docs/api/java/awt/…, int)? -
@shuangwhywhy为什么我用JPanel作为一组词,一个在另一个+一些小动作按钮等。
-
我会尝试使用索引。 LayoutManager 并不是那么简单,因为它是一个复杂的布局,涉及到 WrapLayout。请参阅我的另一个问题:stackoverflow.com/questions/13250043/…
-
如需尽快获得更好的帮助,请发帖SSCCE。
标签: java swing layout components