我正在使用swing爲我的java程序創建一個程序/開始菜單。我想要的是我的程序在背景中播放GIF動畫,而在GIF的某個部分上隱藏了一個按鈕(如果將鼠標懸停在它上面,它只會顯示它的存在)。我的問題是這樣的:如何在動畫GIF的背景上創建隱形按鈕?
A)我不知道如何獲得動畫gif播放,而編程等待按鈕按下。 B)我如何使JButton不可見?
任何幫助,將不勝感激,謝謝。
-JXP
我正在使用swing爲我的java程序創建一個程序/開始菜單。我想要的是我的程序在背景中播放GIF動畫,而在GIF的某個部分上隱藏了一個按鈕(如果將鼠標懸停在它上面,它只會顯示它的存在)。我的問題是這樣的:如何在動畫GIF的背景上創建隱形按鈕?
A)我不知道如何獲得動畫gif播放,而編程等待按鈕按下。 B)我如何使JButton不可見?
任何幫助,將不勝感激,謝謝。
-JXP
我從來沒有在Swing
使用gif
或animated gif
,但你可以使用此代碼
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();
}
});
}
}
* 「我的問題是這樣的:」 *。 。用戶對「不可用GUI」的投訴? '隱形按鈕' - 咩!讓它們可見或不要將它們放在您期望我使用的任何GUI中。這個GUI是什麼?兒童遊戲? (如果是這樣,我保留改變我的想法的權利,並且非常喜歡它); – 2012-03-05 15:22:56
@AndrewThompson按鈕不是隱形的,請參閱,但我想要的按鈕是動畫gif包含按鈕.. 。例如,gif是一個gif,我希望gif的一部分(它有單詞start)作爲按鈕,而不是默認的java按鈕之一,因此它不適合。 – JXPheonix 2012-03-24 14:07:55