AlphaComposite的使用

    在網上看到一個很好玩的類AlphaComposite,做出來的效果挺不錯的。試了下,編寫了一個文字淡入淡出的效果。原理如下:在JFrame上放一個JComponent,重寫JComponent的paintComponent方法,用另外一個線程控制alpha的值,實現文字淡入淡出效果。

    然後就發現一個問題,如果把JComponent改成JPanel的話,淡入淡出就只一次,也就是說文字從沒有到逐漸顯示,然後就不變了,而alpha的值卻還在不斷的循環改變。用JComponent的話,就一直循環淡入淡出顯示。不知道爲什麼。

    JComponent裏的方法:

  1. public void paintComponent(Graphics g) {
  2.             Graphics2D g2d = (Graphics2D)g;
  3.             AlphaComposite comp = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha);
  4.             g2d.setComposite(comp);
  5.             g2d.setColor(Color.red);
  6.             g2d.drawString("淡入淡出"4040);
  7. }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章