91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

利用Java的setVisible方法實現組件的漸變顯示效果

小樊
84
2024-08-23 11:33:33
欄目: 編程語言

要實現組件的漸變顯示效果,可以利用Java中的Timerjavax.swing.Timer類來實現。下面是一個簡單的示例代碼,實現一個JPanel組件的漸變顯示效果:

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class FadeInComponent extends JFrame {

    private JPanel panel;

    public FadeInComponent() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(200, 200);

        panel = new JPanel();
        panel.setBackground(Color.RED);
        add(panel);

        Timer timer = new Timer(20, new ActionListener() {
            private float alpha = 0;

            @Override
            public void actionPerformed(ActionEvent e) {
                alpha += 0.05f;
                if(alpha > 1.0f) {
                    ((Timer)e.getSource()).stop();
                }
                panel.setBackground(new Color(1.0f, 0.0f, 0.0f, alpha));
                panel.repaint();
            }
        });

        timer.start();
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            FadeInComponent fadeInComponent = new FadeInComponent();
            fadeInComponent.setVisible(true);
        });
    }
}

這段代碼創建了一個繼承自JFrame的FadeInComponent類,其中包含一個JPanel組件panel。在FadeInComponent的構造函數中,創建了一個Timer對象,每20毫秒觸發一次actionPerformed方法。在actionPerformed方法中,逐漸增加alpha值來實現顏色漸變效果,并使用setBackground方法設置panel的背景色,然后調用repaint方法實時更新顯示。

運行代碼后,會看到panel組件的背景色從透明到紅色的漸變顯示效果。可以根據需要調整Timer的間隔和alpha值的增加量來實現不同的漸變效果。

0
新营市| 万全县| 弥勒县| 凤山县| 资讯| 辽宁省| 中西区| 台湾省| 九龙坡区| 都江堰市| 九寨沟县| 平度市| 达尔| 忻城县| 泸西县| 栖霞市| 威远县| 江阴市| 汉阴县| 化德县| 防城港市| 策勒县| 松原市| 莆田市| 聊城市| 得荣县| 宜君县| 英超| 石林| 天柱县| 东乡县| 平潭县| 赞皇县| 景谷| 托里县| 和静县| 郁南县| 荔浦县| 盘锦市| 尼勒克县| 彭泽县|