Следуя ответу Чинмая Канчи, вам нужно создать ощущение анимации. Как упоминалось выше в комментариях Улена, вы должны использовать таймер Swing при работе над EDT. Чтобы дать вам пример того, как использовать таймер. Предположим, у нас есть панель, и мы хотим, чтобы она открывалась, например, на панели. щелчок кнопки, поэтому нам нужно анимировать его скольжение, увеличив его размер. Ниже приведен пример, показывающий, как вы будете использовать Timer для выполнения операций.
this.extendingTimer = new Timer(0, new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//assume sliding is vertical
int value = maximumHeight;
//make sure the size will not be bigger then allowed maximum
if(currentExtensionSize + extensionRate >= value)
{
currentExtensionSize = value;
stopExtending();
}
else
currentExtensionSize += extensionRate;
setSize(new Dimension(maximumWidth, currentExtensionSize));
}
});
extendingTimer.setInitialDelay(0);
extendingTimer.setDelay(100);
extendingTimer.setRepeats(true);