Java:带透明窗口的动画GIF
发布时间:2020-12-15 02:25:21 所属栏目:Java 来源:网络整理
导读:我正在尝试使用简单的JLabel在透明的JDialog上显示动画gif: JDialog dialog = new JDialog();AWTUtilities.setWindowOpaque(dialog,false);JLabel label = new JLabel();ImageIcon ii = new ImageIcon("animation.gif");label.setIcon(ii);JPanel panel = n
我正在尝试使用简单的JLabel在透明的JDialog上显示动画gif:
JDialog dialog = new JDialog(); AWTUtilities.setWindowOpaque(dialog,false); JLabel label = new JLabel(); ImageIcon ii = new ImageIcon("animation.gif"); label.setIcon(ii); JPanel panel = new JPanel(); panel.setBackground(new Color(0,0)); panel.add(label); dialog.add(panel); dialog.setVisible(true); 这几乎可行.它平滑地显示动画,并且确实具有透明度. 编辑: class ClearImageIcon extends ImageIcon{ public ClearImageIcon(String filename){super(filename);} @Override public synchronized void paintIcon(Component c,Graphics g,int x,int y) { Graphics2D g2 = (Graphics2D)g.create(); g2.setBackground(new Color(0,0)); g2.clearRect(0,getIconWidth(),getIconHeight()); super.paintIcon(c,g2,x,y); } } 这样可以很好地将每一帧画在屏幕上. 解决方法
这
http://download.oracle.com/javase/tutorial/uiswing/misc/trans_shaped_windows.html包含
GradientPaint,这是similair添加
Image或
ImageIcon
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |