我必须强制我的程序在它添加一个新组件的那一刻验证并重新绘制我的 gui(或它的一部分)。在组件被绘制在屏幕上之前,必须绝对什么都不做,然后代码才能继续。
我正在创建一个分层的 JPanel 结构。一系列 JPanel,每个 JPanel 包含一系列 JPanel,每个 JPanel 包含一系列 JPanel。
在创建 3 级 JPanel 时,我需要从尚未绘制的 1 级 JPanel 中获取数据。这会导致他们返回错误的数据并弄乱整个设置。
第一级 JPanel 仅在主 for 循环(通过第一级 JPanel 的循环)完成后才能绘制。
我如何强制我的程序在创建并添加到其父级后立即绘制它?我检查了这里的一切都是在 EDT 内完成的。重绘和验证根本不起作用。
编辑:好的,我使用了 Robins 解决方案。
但是,有没有一种方法可以在代码中的行执行后立即强制进行 GUI 更新(反对将 for 循环用于 finins 和类似的东西)。如果可能的话,调试一些东西会容易得多。即使 insta-update 意味着暂停所有其他线程。