组件失效或触发重绘时获取通知

时间:2013-06-09 04:46:20

标签: java swing awt

我希望在重新绘制组件时调用我的事件侦听器(JComponent)。我读到了不同的事件监听器,但似乎没有一个对于Invalidate或Repaints是正确的。有什么办法吗?

为什么我想要这个:我试图在控件发生变化时收到通知,以便触发跟踪更改的方法(如文件中的更改,"你呢?想保存更改?")。

另一个用途是手动调用非添加到容器但绘制的组件的自定义布局管理器(这个有点复杂,对于GUI编辑器程序而言)

1 个答案:

答案 0 :(得分:1)

  

为什么我想要这个:我试图在控件发生变化时收到通知,以便触发跟踪更改的方法(如文件已更改,“您要保存更改吗? “)。

通常,您可以跟踪GUI模型类中已编辑文件的更改。每次模型添加或删除字符时,都会在稍后检查的模型中设置脏标记。

  

另一个用途是手动调用非添加到容器但绘制的组件的自定义布局管理器(这个有点复杂,它适用于GUI编辑器程序)。

您对Swing的理解似乎是倒退的。组件不会驱动布局。布局排列组件。

以下是Swing character based text editor的一个示例。

以下是关于GUI builder editor

的Stack Overflow问题