Fadeアニメーションで画像を表示
Total: 15068
, Today: 1
, Yesterday: 6
Posted by aterai at
Last-modified:
概要
フェードイン、フェードアウトアニメーションで、画像の切り替えを行います。
Screenshot
Advertisement
サンプルコード
class FadeImage extends JComponent implements ActionListener {
private int alpha = 10;
public FadeImage() {
super();
setBackground(Color.BLACK);
}
@Override protected void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g.create();
g2.setPaint(getBackground());
g2.fillRect(0, 0, getWidth(), getHeight());
if (mode && alpha < 10) {
alpha = alpha + 1;
} else if (!mode && alpha > 0) {
alpha = alpha - 1;
} else {
animator.stop();
}
g2.setComposite(makeAlphaComposite(alpha * .1f));
g2.drawImage(icon, null, 0, 0);
g2.dispose();
}
@Override public void actionPerformed(ActionEvent e) {
repaint();
}
private AlphaComposite makeAlphaComposite(float alpha) {
return AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha);
}
}
View in GitHub: Java, Kotlin解説
javax.swing.Timer
を使って表示される画像のアルファ値を変更してフェードイン、フェードアウトアニメーションを実行しています。