我使用swing为我的java程序创建一个程序/开始菜单。我想要的是我的程序在后台播放动画GIF,而在gif的某个部分上有一个隐形按钮(如果你将鼠标放在它上面,它只显示它的存在)。因此,我的问题是:
A)我不确定如何在编程等待按下按钮时播放动画gif。 B)如何使JButton不可见?
任何帮助都将不胜感激,谢谢。
-JXP
答案 0 :(得分:4)
我从未在gif
中使用animated gif
或Swing
,但您可以使用此代码
import java.awt.Insets;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.Icon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
public class MyToggleButton extends JFrame {
private static final long serialVersionUID = 1L;
private Icon errorIcon = UIManager.getIcon("OptionPane.errorIcon");
private Icon infoIcon = UIManager.getIcon("OptionPane.informationIcon");
private Icon warnIcon = UIManager.getIcon("OptionPane.warningIcon");
public MyToggleButton() {
final JButton toggleButton = new JButton();
toggleButton.setBorderPainted(false);
toggleButton.setBorder(null);
toggleButton.setFocusable(false);
toggleButton.setMargin(new Insets(0, 0, 0, 0));
toggleButton.setContentAreaFilled(false);
toggleButton.setIcon((errorIcon));
toggleButton.setSelectedIcon(infoIcon);
toggleButton.setRolloverIcon((infoIcon));
toggleButton.setPressedIcon(warnIcon);
toggleButton.setDisabledIcon(warnIcon);
add(toggleButton);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
MyToggleButton t = new MyToggleButton();
}
});
}
}