java - 当组件失效或重绘被触发时收到通知

标签 java swing awt

我想在重新绘制组件(JComponent)时调用我的事件监听器。我读到了有关不同事件监听器的信息,但似乎没有一个是适用于无效或重绘的正确监听器。有办法做到这一点吗?

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

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

最佳答案

Why I want this: I'm trying to get notified when there is some change in a control, in order to fire the method that tracks the changes (as in the file has changed, "do you want to save changes?").

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

Another use for this is for manually invoking the custom layout manager of a non-added-to-the-container-but-drawn component (this one is kind of complex, it's for a GUI editor program).

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

这是一个 Swing 示例 character based text editor .

这是一个关于 GUI builder editor 的 Stack Overflow 问题.

关于java - 当组件失效或重绘被触发时收到通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17006518/

相关文章:

Mac OS X 上的 Java Swing GUI

java - JTextArea 字符串不会打印到我的控制台?

java - 将多个 swing/awt 形状添加到框架中

java - 如何根据设置本地化程序文本?

java - 使 JPopupMenu 在项目选择时不关闭

java - 不匹配的 Javafx fx :id and variable name in controller class

Java Netbeans - Key Listener 不起作用

java - 有人可以解释一下 EventQueue 对象的用途吗?

java - 使用 Java 从 S3 检索文件并将它们放入 EC2 Linux 实例

java - java中单线程死锁