你是gyus看过那些基于flash的翻书。我想在Java中创建相同的东西。我正在使用JTextArea作为本书的叶子。我想知道的是如何通过覆盖与Mouse / KeyListener结合的componentPaint方法来实现页面翻转效果呢?
答案 0 :(得分:8)
您需要将现有页面渲染到屏幕外缓冲区,然后转换缓冲区以呈现页面翻转。
所以,
你需要在一个线程中驱动它,以便在动画播放时重复调用重绘。因此,设置一个“pageIsTurning
”标志和“percentageTurned
”,它将向paint方法指示它需要执行特殊绘制以及它在动画中的位置。在重复调用paint方法时更新percentageTurned标志,然后一旦完成,重置标志并允许componentPaint方法默认为super.componentPaint。
答案 1 :(得分:1)
不要重新发明轮子,请尝试这个自定义JComponent的真棒源代码,它完全符合您的要求:
http://lmireport.googlecode.com/svn/trunk/ireport/src/be/savat/components/JBookPanel.java
享受。 :)