2012-03-05 7 views
2

J'utilisais swing pour créer un programme/menu de démarrage pour mon programme Java. Ce que je veux c'est que mon programme joue un GIF animé en arrière-plan, alors qu'un bouton invisible sur une certaine section du gif (qui ne révèle sa présence que si vous le survolez). Mes problèmes sont les suivants:Comment créer un bouton invisible sur fond de GIF animé?

A) Je ne suis pas sûr de savoir comment faire jouer le gif animé alors que le programme attend une pression sur un bouton. B) Comment rendre un JButton invisible?

Toute aide serait appréciée, merci.

-JXP

+0

* "Mes problèmes sont donc:" *. .Les plaintes des utilisateurs à propos de l'interface utilisateur inutilisable? «Boutons invisibles» - blech! Rendez-les visibles ou ne les placez pas dans une interface utilisateur graphique que vous attendez de moi. Quelle est cette interface graphique? Un jeu d'enfants? (Et si c'est le cas, je me réserve le droit de changer d'avis et tout à fait pareil;) –

+0

@AndrewThompson Les boutons ne sont pas invisibles, voir, mais ce que je veux que les boutons à faire, c'est le gif animé contient le bouton .. par exemple, le gif est un gif et je veux qu'une section du gif (il a le mot start dessus) soit le bouton, pas un des boutons java par défaut parce que ça ne rentrerait pas. – JXPheonix

Répondre

4

Je ne ai jamais utilisé gif ou animated gif dans le Swing, mais vous pouvez utiliser pour que ce code

enter image description hereenter image description here

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(); 
      } 
     }); 
    } 
} 
+0

Je vais essayer, merci. – JXPheonix

+0

heureux de vous aider – mKorbel

+0

+1 Vous pouvez également implémenter 'Icon' pour faire l'animation, comme vu [ici] (http://stackoverflow.com/a/3484251/230513). – trashgod