【发布时间】:2023-03-26 22:50:02
【问题描述】:
我正在尝试编写自己的布局管理器。
组件的放置和大小必须相对彼此。
这意味着:当用户拖动或调整组件大小时,其他一些
组件(但不是由用户手动更改的组件)必须
改变。
Swing 告诉布局管理器在每次
其中一些被移动/调整大小。这是一个问题,因此布局
管理器自身移动/调整组件大小:
失败了,方法
layoutContainer(Container parent) 被多次调用。
整个事情的一个示例(简化了,实际上我的布局管理器就是这样做的) 更复杂的东西):
[-component1-][-component2-------][-component3-]- 用户将 component2 调整为更小,我的布局管理器会调整
其他组件,以便它们都占用与以前相同的空间:
[-component1-][-component2-][-component3-------] - 在这里,动作应该停止,但它们会继续:现在是布局管理器 由于调整 component3 的大小而被调用
我怎样才能(以优雅的方式)实现我的意图?
谢谢。
编辑:
根据回答者的建议删除了与线程相关的信息。
【问题讨论】:
标签: java multithreading swing events synchronization