Jtoolbar, jmenu =)

Soyez le premier à donner votre avis sur cette source.

Vue 23 049 fois - Téléchargée 1 254 fois

Description

c'est un code que j'ai trouvé ds un book, il est assez sympas et peut servir! servez vous de l'api pour comprendre certaines choses au cas ou :X

Source / Exemple :


import java.awt.*;
import java.awt.event.*;
import java.beans.*;
import javax.swing.*;

public class CouleurTest
{
	public static void main(String[] args)
	{
		CouleurFrame frame = new CouleurFrame();//création de l'objet CouleurFrame
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //fermera la frame
		frame.show();//la rend visible
	}
}
class CouleurFrame extends JFrame
{
	public CouleurFrame()
	{
		setTitle("Couleur test");//titre
		setSize(300,200);//taille
		
		panel = new JPanel();//création d'un panel
		getContentPane().add(panel, BorderLayout.CENTER);//panel ajouté au container
		
		//création d'un nouvel objet (ColorAction)
		Action jauneAction = new ColorAction("jaune", new ImageIcon("jaune.gif"), Color.yellow); 
		Action vertAction = new ColorAction("vert", new ImageIcon("vert.gif"), Color.green);
		Action rougeAction = new ColorAction("rouge", new ImageIcon("rouge.gif"), Color.red);
		
		//Action du bouton
		Action quitAction = new AbstractAction("Quit", new ImageIcon("normal-smile.gif"))
		{
			public void actionPerformed(ActionEvent e)
			{
				System.exit(0);//ferme le programme "proprement"
			}
		};
		//ajoute juste une description 
		quitAction.putValue(Action.SHORT_DESCRIPTION, "Quit");
		//ajoute un libellé 
		JLabel lb = new JLabel("Hupi ça marche", SwingConstants.CENTER);
		panel.add(lb);//ajoute du libellé au panel
		JToolBar bar= new JToolBar("Faites votre choix"); //création d'un JToolBar avec titre
		//ajoute des actions au jtoolbar
		bar.add(jauneAction);
		bar.add(vertAction);
		
		bar.add(rougeAction);
		bar.addSeparator(); //met une séparation entre les options
		bar.add(quitAction);
		//ajoute le jtoolbar au container
		getContentPane().add(bar, BorderLayout.NORTH);
		
		//création d'un menu nommé Couleur
		JMenu menu = new JMenu("Couleur");
		//ajout des actions au menu
		menu.add(jauneAction);
		menu.add(vertAction);
		menu.add(rougeAction);
		menu.add(quitAction);
		//création du menubar (obligatoire pour un jmenu car le jmenu ne peut etre ajouté que à un jmenubar
		JMenuBar menuBar = new JMenuBar();
		menuBar.add(menu);
		//ajout du menubar au container (en quelques sortes)
		setJMenuBar(menuBar);
	}
	private JPanel panel; //champs d'instances de l'objet jpanel
	
	class ColorAction extends AbstractAction //définition de l'objet ColorAction qui hérite de la classe AbstractAction
	{
		public ColorAction(String n, Icon i, Color c) //constucteur de l'objet
		{  
		//méthode du package javax.swing.Action
			putValue(Action.NAME, n);
			putValue(Action.SMALL_ICON, i);
			putValue(Action.SHORT_DESCRIPTION, "La couleur est " + n);
			putValue("Couleur" ,c);
		}
		public void actionPerformed(ActionEvent e) //gestionnaire d'evts
		{
			Color c = (Color)getValue("Couleur"); //recupere la couleur
			panel.setBackground(c);//puis le panel met la couleur comme background
			panel.repaint();//repaint le panel (la couleur est mise à jour..)
		}
	}
}

Conclusion :


ne faites pas attention au fichier texte ;p (ds le zip pardi ) mdr a+

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_yesra
Messages postés
1
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
17 avril 2004

Le problème est quand je l’exécute avec netbins les image rouge.gif vert.gif et jaune.gif n’apparaît pas,même avec d’autre codes ou je crée des image sur des boutons je revoit le même problème ,une solution si c’est possible merci
praystation
Messages postés
41
Date d'inscription
mercredi 30 janvier 2002
Statut
Membre
Dernière intervention
20 mars 2003

c'est vrai, excusez moi :'(
Jdk 1.3 :]
cs_bouba
Messages postés
518
Date d'inscription
dimanche 2 décembre 2001
Statut
Membre
Dernière intervention
10 novembre 2007
3
Tu devrais indiquer la version du jdk avec laquelle tu l'as compilé parce qu'avec le jdk1.2.X ca ne marche pas.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.