我正在使用Java Swing创建一个JDialog,并且我试图创建一个显示/隐藏详细信息按钮来显示/隐藏此JDialog底部的报告。如何创建显示/隐藏详细信息按钮?
它对我来说很好,但我希望随着时间的推移,在显示/隐藏报告时添加一个小动画效果,我使用了TimerTask,但它只是直接显示报告而没有任何慢动作。这里是我当前的代码:
private void showHideDetailsButtonActionPerformed() {
final MyDialog myDialog = this;
int fullHeight = this.getHeight();
int smallHeight = this.getHeight()/2 - 4;
this.setSize(this.getWidth(), smallHeight); // By default hide the report.
if(this.getHeight() == smallHeight) { // Show details.
new Timer().schedule(
new java.util.TimerTask() {
@Override
public void run() {
while(myDialog.getHeight() < fullHeight) {
myDialog.setSize(myDialog.getWidth(), myDialog.getHeight() + 1);
System.out.println(myDialog.getHeight());
}
}
},
800
);
}
}
完美... javax.swing.Timer非常简单,并且可以完成任务。 – Brad 2010-06-27 07:58:46