Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaSwing的滑动抽屉动画_Java_Swing_Animation_User Interface - Fatal编程技术网

使用JavaSwing的滑动抽屉动画

使用JavaSwing的滑动抽屉动画,java,swing,animation,user-interface,Java,Swing,Animation,User Interface,我不熟悉swing并使用JavaSwing设计接口。我想要一个抽屉拉与滑动按钮点击动画。首先,是否可以这样做?如果可以,我该如何做。非常感谢。我希望您能给出一些具体的方法信息。首先,我认为您不应该使用Canvas,因为在我看来,如果没有必要的话,您不应该将Swing的组件与AWT混合使用(我指的是您在GUI中放置的实际组件-我知道Swing构建在AWT之上) 相反,您可能希望使用JPanel并使用其paintComponent方法执行自定义绘制。有很多关于这方面的教程(例如) 一旦你知道了如何在

我不熟悉swing并使用JavaSwing设计接口。我想要一个抽屉拉与滑动按钮点击动画。首先,是否可以这样做?如果可以,我该如何做。非常感谢。我希望您能给出一些具体的方法信息。

首先,我认为您不应该使用
Canvas
,因为在我看来,如果没有必要的话,您不应该将Swing的组件与AWT混合使用(我指的是您在GUI中放置的实际组件-我知道Swing构建在AWT之上)

相反,您可能希望使用
JPanel
并使用其
paintComponent
方法执行自定义绘制。有很多关于这方面的教程(例如)

一旦你知道了如何在
JPanel
中绘制抽屉(只需使用
Graphics2D
绘图),你就会想给它设置动画:基本上,你只需要更新它的一些属性,很可能是某个位置……
如果你想有一些很好的放松效果,并且所有的东西都很容易处理和包装,我建议你去看看。我已经用过了,也可以帮你

Universal Tween Engine库链接到项目后,只需使用以下调用:

Tween
    .to(drawerProperties, Type.POSITION, 10.0f)  // animate the POSITION property of your drawerProperties on 10.0 units of time
    .target(100)  // set the number of frames of that animation to 
    .ease(Quad.OUT)  // set a nice quadratic effect on the animation
    .start(tweenManager);  // launch the animation
然后,在其他地方,您只需要运行一个
线程
,使用
TweenManager#update
不断更新您的
TweenManager

同样,它看起来需要做很多工作,但实际上非常易于使用,Universal Tween Engine的入门部分非常好。此外,如果您真的想在项目中添加动画,这绝对是一个很好的工具:)


最后一点:您可能需要更新Swing的事件调度线程中的属性,具体取决于解决方案的实现方式。如果你对此不太了解,你可以阅读——或者只是搜索StackOverflow,如果你有具体的问题:)

首先,我认为你不应该使用
Canvas
,因为在我看来,如果没有必要,你不应该将Swing的组件与AWT混合使用(我指的是您在GUI中放置的实际组件——我知道Swing构建在AWT之上)

相反,您可能希望使用
JPanel
并使用其
paintComponent
方法执行自定义绘制

一旦你知道了如何在
JPanel
中绘制抽屉(只需使用
Graphics2D
绘图),你就会想给它设置动画:基本上,你只需要更新它的一些属性,很可能是某个位置……
如果你想有一些很好的放松效果,并且所有的东西都很容易处理和包装,我建议你看看。我已经用过了,也可以帮你

Universal Tween Engine库链接到项目后,只需使用以下调用:

Tween
    .to(drawerProperties, Type.POSITION, 10.0f)  // animate the POSITION property of your drawerProperties on 10.0 units of time
    .target(100)  // set the number of frames of that animation to 
    .ease(Quad.OUT)  // set a nice quadratic effect on the animation
    .start(tweenManager);  // launch the animation
然后,在其他地方,您只需要运行一个
线程
,使用
TweenManager#update
不断更新您的
TweenManager

同样,它看起来工作量很大,但实际上非常易于使用,Universal Tween Engine的入门部分非常好。此外,如果您真的想在项目中添加动画,这肯定是一个非常好的工具:)


最后一点:您可能需要更新Swing的事件调度线程中的属性,具体取决于解决方案的实现方式。如果你对此不太了解,你可以阅读——或者只是搜索StackOverflow,如果你有具体的问题:)

首先,我认为你不应该使用
Canvas
,因为在我看来,如果没有必要,你不应该将Swing的组件与AWT混合使用(我指的是您在GUI中放置的实际组件——我知道Swing构建在AWT之上)

相反,您可能希望使用
JPanel
并使用其
paintComponent
方法执行自定义绘制

一旦你知道了如何在
JPanel
中绘制抽屉(只需使用
Graphics2D
绘图),你就会想给它设置动画:基本上,你只需要更新它的一些属性,很可能是某个位置……
如果你想有一些很好的放松效果,并且所有的东西都很容易处理和包装,我建议你看看。我已经用过了,也可以帮你

Universal Tween Engine库链接到项目后,只需使用以下调用:

Tween
    .to(drawerProperties, Type.POSITION, 10.0f)  // animate the POSITION property of your drawerProperties on 10.0 units of time
    .target(100)  // set the number of frames of that animation to 
    .ease(Quad.OUT)  // set a nice quadratic effect on the animation
    .start(tweenManager);  // launch the animation
然后,在其他地方,您只需要运行一个
线程
,使用
TweenManager#update
不断更新您的
TweenManager

同样,它看起来工作量很大,但实际上非常易于使用,Universal Tween Engine的入门部分非常好。此外,如果您真的想在项目中添加动画,这肯定是一个非常好的工具:)


最后一点:您可能需要更新Swing的事件调度线程中的属性,具体取决于解决方案的实现方式。如果你对此不太了解,你可以阅读——或者只是搜索StackOverflow,如果你有具体的问题:)

首先,我认为你不应该使用
Canvas
,因为在我看来,如果没有必要,你不应该将Swing的组件与AWT混合使用(我指的是您在GUI中放置的实际组件——我知道Swing构建在AWT之上)

Y