Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec des icônes de JButton

    3 décembre 2016 à 22:49:05

    Bonjour,

    Je suis élève de première scientifique. Pour notre T.P.E. nous avons choisis de rendre nos recherches sous la forme d'une carte mentale interactive. N'ayant pas trouver de logiciel/site internet pour faire cela et ayant un peu de connaissance en java, j'ai décidé de créé moi même la carte interactive. Mais voilà, les icônes des boutons que j'utilise dans le menu se superposent lorsque je passe la curseur dessus.

    J'utilise une class nommé "Button" extends de JButton et implements MouseListener pour pouvoir afficher les contours lorsque que l'ont passe le curseur sur le bouton, qui ne fonctionne pas de plus (une fois que l'ont passe le curseur dessus, les contours s'affiche mais ne s'en vont pas). J'utilise aussi un GridBagLayout pour les positionner.

    Voici les parties de mon programme concernées.

    Titre.setLayout(new GridBagLayout());//JPanel "Titre" de la première page (info du TPE)
    		Button btn = new Button("H:/Button_suivant.png");//Création du bouton pour aller au JPanel Menu
    		GridBagConstraints gbc = new GridBagConstraints();
    		gbc.gridx = 0;
    		gbc.gridy = 0;
    		gbc.weightx = 1;
    		gbc.weighty = 1;
    		gbc.gridheight = 1;
    		gbc.gridwidth = 1;
    		gbc.anchor = GridBagConstraints.FIRST_LINE_END;
    		gbc.fill = GridBagConstraints.NONE;
    		Dimension DIM1 = new Dimension(221, 54);
    		btn.setPreferredSize(DIM1);
    		Titre.add(btn, gbc);
    		
    		//-----btn2 ("Précédent"--->Titre)-----\\
    		menu.setLayout(new GridBagLayout());
    		Button btn2 = new Button("H:/Button_précédant.png");//Création du bouton pour retourner au JPanel "Titre"
    		gbc.gridx = 0;
    		gbc.gridy = 0;
    		gbc.weightx = 1;
    		gbc.weighty = 1;
    		gbc.gridheight = 1;
    		gbc.gridwidth = 1;
    		gbc.anchor = GridBagConstraints.FIRST_LINE_START;
    		gbc.fill = GridBagConstraints.NONE;
    		btn2.setPreferredSize(DIM1);
    		menu.add(btn2, gbc);
    		
    		//-----btnm1 ("Menu"--->Introduction)-----\\
    		
    		Button btnm1 = new Button("H:/Introduction.png");
    		gbc.gridx = 1;
    		gbc.gridy = 1;
    		btnm1.setPreferredSize(DIM1);
    		menu.add(btnm1, gbc);
    		
    //J'utilise un cardLayout pour cela (il fonctionne)
    
    
    
    //Ma class Button
    
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    
    
    @SuppressWarnings("serial")
    public class Button extends JButton implements MouseListener
    {
    	public Button(String icon)
    	{
    		addMouseListener(this);
    		setIcon(new ImageIcon(icon));
    		setBorderPainted(false);
    		setContentAreaFilled(false);
    	}
    	public void mouseClicked(MouseEvent event)
    	{
    		
    	}
    	
    	public void mouseExited(MouseEvent event)
    	{
    		setBorderPainted(false);
    	}
    	
    	public void mouseEntered(MouseEvent event)
    	{
    		setBorderPainted(true);
    	}
    	
    	public void mouseReleased(MouseEvent event)
    	{
    		
    	}
    	
    	public void mousePressed(MouseEvent event)
    	{
    		
    	}
    }

    Voilà, je sais que c'est peut être un peu trop compliqué pour un débutant en java mais j'ai vraiment envie de créé ce programme.

    Merci d'avance pour votre aide

    -
    Edité par MatJo 3 décembre 2016 à 22:49:41

    • Partager sur Facebook
    • Partager sur Twitter

    Problème avec des icônes de JButton

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown