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. }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章