我有一个java Box,里面有各种组件。当用户执行操作时,我想清空该框,在其中放入一组不同的组件,然后向用户表示该框。该框是JDialog框的一部分。我可以清空盒子并重新填充它,但显示不反映新内容。它只是一个空白显示(我假设反映了我清空盒子内容的事实)。我把新内容放入后重新绘制框,但是框的区域显示为空白。奇怪的是,如果我首先在框中添加一个边框,然后重新绘制它,框的内容就会出现在屏幕上。这是最离奇的行为。任何想法为什么会发生这种情况以及如何解决这个问题?
谢谢,
埃利奥特
答案 0 :(得分:2)
您是否在EDT中添加和删除内容?如果这在错误的线程上发生,则可能导致奇怪的重绘行为。
也可能想尝试
dialog.revalidate()
如果以上不是问题而不是调用重绘