Aide applet java niveau débutant

Aide applet java niveau débutant - Java - Programmation

Marsh Posté le 15-12-2009 à 21:12:45    

Bonsoir, voilà je viens de commencer le java en applet à mon IUT mais je galère un max ..
J'ai donc voulu faire un petit applet avec en haut un menu déroulant, un centre une photo et en bas deux boutons
Mais je galère pour faire des liens entre les boutons. J'aimerais que quand je presse le bouton ajouter, en fonction de ce qui est sélectionner dans le menu déroulant, on affiche une image différente ..  
 
En fai j'ai du mal a utiliser les fonctions "getSelectIndex" pour récuperer le numéro qui correspond a un élément du menu déroulant et surement d'autre fonction .. Merci de m'aider !
 

Code :
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.net.*;
  4. import java.awt.event.*;
  5. public class tp3 extends JApplet {
  6.     private JLabel img ;
  7.     private ImageIcon photo ;
  8.     private JButton Ajouter ;
  9.     private JButton Enlever ;
  10.     private JComboBox menu ;
  11.     private JPanel PartieSud ;
  12.    
  13.     public void init () {
  14.    
  15.     URL accessphoto ;
  16.  try {
  17.       accessphoto= new URL(getCodeBase(),"img1.jpg" );
  18.       photo=new ImageIcon(accessphoto);
  19.     }
  20.     catch (MalformedURLException mfe) {}
  21.    
  22.     // Définition des objets utilisés pour placer les composants
  23. BorderLayout Placeur = new BorderLayout();
  24.     getContentPane().setLayout(Placeur);
  25.    
  26.     // Placement du menu déroulant
  27.     String[] données={"fibre","couplage","propagation","connecteurs","etoile"};
  28.     menu= new JComboBox(données);
  29.     getContentPane().add(menu,BorderLayout.NORTH);
  30.    
  31.       // Placement de l'image
  32.     img=new JLabel(photo);
  33.     getContentPane().add(img,BorderLayout.CENTER);
  34.    
  35.     // Placement du bouton ajouter et enlever
  36.    
  37.    
  38.     PartieSud = new JPanel();   // On créer une partie sud dans un jpanel
  39.     getContentPane().add(PartieSud,BorderLayout.SOUTH); // On dit que la partie sud est la partie sud du borderLayout(interface général)
  40.     PartieSud.setLayout (new GridLayout(1,2)); // On associe la partie sud à un gridLayout
  41.    
  42.    
  43.     Ajouter= new JButton("Ajouter" );
  44.     Ajouter.addActionListener(new ActionAjouter());
  45.     PartieSud.add(Ajouter);
  46.    
  47.    
  48.     Enlever= new JButton("Enlever" );
  49.     Enlever.addActionListener(new ActionEnlever());
  50.     PartieSud.add(Enlever);
  51.    
  52. }
  53. private class ActionAjouter implements ActionListener {
  54.  public synchronized void actionPerformed(ActionEvent e) {
  55.   switch (getContentPane().getSelectedIndex()) {
  56.    case 1 :
  57.   try {
  58.        accessphoto= new URL(getCodeBase(),"img2.jpg" );
  59.        photo=new ImageIcon(accessphoto);
  60.      }
  61.      catch (MalformedURLException mfe) {}
  62.      img1=new JLabel(photo);
  63.      getContentPane().add(img1,BorderLayout.CENTER);
  64.     
  65.          default : null ;
  66.   }
  67.  }
  68. }
  69. private class ActionEnlever implements ActionListener {
  70.   public synchronized void actionPerformed(ActionEvent e) {
  71.   }
  72.  }
  73. }


 
Mercii

Reply

Marsh Posté le 15-12-2009 à 21:12:45   

Reply

Marsh Posté le 16-12-2009 à 10:51:47    

Code :
  1. switch (getContentPane().getSelectedIndex()) {
  2.   case 1 :


 
C'est pas sur le ContentPane que tu dois faire getSelectedIndex, mais sur le menu
 
De plus, comme la plupart du temps en java, JComboBox.getSelectedIndex() retourne des indices à partir de 0

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed