📄 infiniteprogressindicator.java
字号:
package com.sun.me.web.sample.local;import com.sun.lwuit.Image;import com.sun.lwuit.Graphics;import com.sun.lwuit.geom.Dimension;import com.sun.lwuit.Component;import com.sun.lwuit.plaf.Style;/** * A "washing machine" progress animation that rotates the given image as an * animation. The image for rotation must be square. * * @author Shai Almog */public class InfiniteProgressIndicator extends Component { private Image[] angles; private int angle; public InfiniteProgressIndicator(Image image) { Image fourtyFiveDeg = image.rotate(45); angles = new Image[] {image, fourtyFiveDeg, image.rotate(90), fourtyFiveDeg.rotate(90), image.rotate(180), fourtyFiveDeg.rotate(180), image.rotate(270), fourtyFiveDeg.rotate(270)}; getStyle().setBgTransparency(0); } protected Dimension calcPreferredSize() { Style s = getStyle(); return new Dimension(angles[0].getWidth() + s.getPadding(LEFT) + s.getPadding(RIGHT), angles[0].getHeight() + s.getPadding(TOP) + s.getPadding(BOTTOM)); } public void initComponent() { getComponentForm().registerAnimated(this); } public void paint(Graphics g) { Style s = getStyle(); g.drawImage(angles[Math.abs(angle % angles.length)], getX() + s.getPadding(LEFT), getY() + s.getPadding(TOP)); } public boolean animate() { angle++; return true; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -