Bout Java

Résolu/Fermé
Zyo1 Messages postés 83 Date d'inscription vendredi 22 juin 2012 Statut Membre Dernière intervention 24 juillet 2015 - 31 août 2012 à 18:49
Zyo1 Messages postés 83 Date d'inscription vendredi 22 juin 2012 Statut Membre Dernière intervention 24 juillet 2015 - 31 août 2012 à 19:11
Bonjour,


J'ai fait le code suivant afin de pouvoir placer des boutons sur une image placée en fond dans une fenêtre Java et j'y suis parvenu :

import java.awt.*;
import java.awt.event.*;
import java.net.*;

import javax.swing.*;


public class ImageFond extends JPanel implements ActionListener
{
Image backGround = null;
JPanel etud_pn = new JPanel();

public ImageFond( Image backGround )
{
this.backGround = backGround;
setOpaque( false );
}

public void paint( Graphics g )
{
if ( backGround != null )
g.drawImage( backGround, 0, 0,getSize().width, getSize().height, this );
super.paint( g );
}



public static void main(String[] args )
{

JFrame frm = new JFrame( "Fenetre" );
frm.setBounds( 3, 0, 1355, 700 ); //taille
frm.getContentPane().setLayout( new BorderLayout() );
JPanel pnl = new ImageFond( loadImages( frm, ".//Capture.PNG" ) );
pnl.setLayout( null );//new GridLayout( 10, 10 ) );





JButton btn = new ImageFond.ButtonAvecFond( loadImages( frm, ".//Bouton.gif" ) );
btn.setForeground( Color.black );
btn.setText( "bouton1" );
btn.setBounds( 400, 123, 550, 50 );

pnl.add( btn );







JButton btn2 = new ImageFond.ButtonAvecFond( loadImages( frm, ".//Btn.gif" ) );
btn2.setForeground( Color.black );
btn2.setText( "bouton2" );
btn2.setBounds( 400, 245, 550, 50 );
pnl.add( btn2 );



frm.getContentPane().add( pnl, BorderLayout.CENTER );

frm.setVisible( true );
frm.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
super.windowClosing(e);
System.exit( 0 );
}
});
}


private static Image loadImages( JFrame frm, String imageFile )
{
try
{
MediaTracker mTrack = new MediaTracker( frm ); // load les image avan de les afficher
Image image = frm.getToolkit().getImage( getURL( imageFile ) );
mTrack.addImage( image, 0 );
mTrack.waitForAll();
return image;
}
catch (Exception e)
{
System.out.println( " getimages : " + e );
}
return null;
}

public static URL getURL( String file )
throws MalformedURLException
{
URL documentBase = new URL("file:///" + System.getProperty("user.dir") + "/");
return new URL( documentBase, file );
}




public static class ButtonAvecFond extends JButton
{
Image backGround = null;
public ButtonAvecFond( Image backGround )
{
this.backGround = backGround;
setOpaque( false );
}




public void paint( Graphics g )
{
if ( backGround != null )
g.drawImage( backGround, 0, 0,getSize().width, getSize().height, this );
// ButtonModel model = getModel();
// if ( !model.isArmed() )
super.paint( g );
}
}




@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub

}
}

Cependant je n'arrive pas à faire d'interaction avec le bouton, je voudrais pour commencer faire en sorte que lorsque je clique sur le bouton nommé bouton1 celui-ci disparaisse et laisse apparaître le bouton nommé bouton2.

Pourriez-vous m'indiquer le code à ajouter svp car je suis débutant et cela m'aiderai énormément
A voir également:

2 réponses

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
31 août 2012 à 19:02
Exemple :

btn.addActionListener(new ActionListener()
{
	@Override
	public void actionPerformed(ActionEvent arg0)
	{	
		btn.setVisible(false);
		btn2.setVisible(true);
	}
});

btn2.addActionListener(new ActionListener()
{
	@Override
	public void actionPerformed(ActionEvent arg0)
	{	
		btn.setVisible(true);
		btn2.setVisible(false);
	}
});
0
Zyo1 Messages postés 83 Date d'inscription vendredi 22 juin 2012 Statut Membre Dernière intervention 24 juillet 2015
31 août 2012 à 19:11
Ah d'accord je vois mieux le fonctionnement super
Merci beaucoup pour ta réponse :-)
0