1
我有一個JLabel,我想改變其不透明度(Alpha值),每一秒,我想類似的東西,但它的不改變每一秒,JLabel只能用最後一個alpha值來改變它的不透明度。
Color color = jLabel1.getBackground();
int alpha = 255;
long initTime = System.currentTimeMillis();
while(true){
if(System.currentTimeMillis() - initTime >= 1000){
initTime = System.currentTimeMillis();
alpha -=1;
Color color2 = new Color(color.getRed(),color.getGreen(),color.getBlue(),alpha);
jLabel1.setBackground(color2);
}
if(alpha<=0)
break;
}
+1下面是一個使用'javax.swing.Timer'確保EDT執行的相關示例:http://stackoverflow.com/questions/2228735/how-do-i-fade-an-image-in-swing/2234020#2234020 – trashgod 2010-06-02 23:04:55