Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    7

    JComboBox


    Non riesco ad impostare un azione per il JComboBox che svolga questo compito:
    Avendo in un panel un JComboBox (mettiamo con 2 item all'interno che indichino ciascuno un'immagine), e in un altro panel un immagine di default:
    com'è possibile fare in modo che l'immagine cambi a seconda dell'item selezionato???

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    codice:
    public void actionPerformed(ActionEvent e) {
        if (e.getSource()==combo) {
         String s=(String)combo.getSelectedItem(); 
    con un if controlli se è uguale a uno o l'atlro e nel pannello carichi l'immagine   }
      }

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    7

    Immagini che cambiano..

    Non ho ben capito..
    in pratica potrei cambiare il nome all'immagine che ho chiamato image??
    Mettiamola così, creo un azione che
    premendo item1 mi assegna image="image1.jpg" e
    premendo item2 mi assegna image="item2.jpg" e così via...
    Nel codice, come riconosco l'item??
    Di seguito c'è un pò di codice funzionante ma senza l'azione, magari mi spiego meglio.

    codice:
    import javax.swing.*;
    import java.awt.*;
    
    public class frameCombo extends JFrame {
    	
    	public frameCombo() {
    	
    	
    	String[] items = {"item1", "item2", "item3"};
        JComboBox comboBox = new JComboBox(items);	
            
    	// Pannello comboPanel contenente il JComboBox	:
    	JPanel comboPanel = new JPanel();
    	comboPanel.setLayout(new FlowLayout(FlowLayout.CENTER));
    	comboPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 1, 1));
    	comboPanel.add(comboBox);
    		
    	String image = ("img1.jpg");
    	JLabel labelIcon = new JLabel(new ImageIcon(image));
    	labelIcon.setBorder(BorderFactory.createLineBorder(Color.black));
    	
    	// Pannello imgPanel contenente le immagini :
    	JPanel imgPanel = new JPanel();
    	imgPanel.setLayout(new FlowLayout(FlowLayout.CENTER));
    	imgPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 1, 1));
    	imgPanel.add(BorderLayout.NORTH,labelIcon);	
    	
    	
    	getContentPane().setLayout(new BorderLayout());				
    	getContentPane().add(BorderLayout.NORTH, comboPanel);	
    	getContentPane().add(BorderLayout.SOUTH, imgPanel);	
    	setVisible(true);
    
    	}
    
    	// ASCOLTATORI ?????
    	
    
    		
    		  	
    	
    	// MAIN
    	public static void main(String argv[]) {
    	frameCombo fc = new frameCombo();
    		fc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		fc.setSize(400, 400);
    		fc.show();
    		}
    }

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    crei un ascoltatore per il combobox, con il metodo jcombo.getselecteditem prendi il nome dell'oggetto selezionato "item1", "item2", "item3". fai un if o un case switch e nell'altro pannello se il nome è uguale a item1 carichi l'immagine di item1, se item2 carchi immagine di item2 e cosi via...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.