Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Problema JComboBox

  1. #1

    Problema JComboBox

    Ciao a tutti... è la prima volta che scrivo in questo forum... vorrei proporvi un problema che mi tormenta e non riesco a capire dov'è l'errore... infatti secondo i miei ragionamenti dovrebbe funzionare.

    Questo è il codice dell'intera classe(l'ho messo tutto in allegato così da essere + chiaro)

    Ho creato una JComboBox, che permette di scegliere fra una serie di categorie di oggetti(Vestito, Utensile...) a seconda di ciò che si seleziona, dovrebbero apparire una serie di label ulteriori a quelle comuni, personalizzate. Eseguo una "if" così da verificare la selezione effettuato e viene richiamato il metodo che crea le label e le Text relative. Ciò non avviene, ma sono sicuro che si entra nella selezione perchè se chiedo di stampare un stringa all'interno del blocco che dovrebbe essere selezionato ciò avviene. Aiuto!!!

    Grazie 1000 a chiunque possa darmi una mano.



    /**
    * Il metodo setOggetto prevede l'inserimento dei dati relativi all'oggetto che sarà prestato.
    */

    public void setOggettoGraphic()
    {

    //Sistemazione logica(Grafica) dei componenti e contenitori dell'oggetto
    poggetto = new JPanel();



    //Istanziamo un bordo al pannello oggetto
    poggetto.setBorder(BorderFactory.createEtchedBorde r());



    //Creazione titolo pannello Oggetto e relativa visualizzazione
    lpannellodue = new JLabel("Oggetto", JLabel.CENTER);
    //settaggio del colore
    lpannellodue.setForeground(Color.BLUE);
    lvoidd = new JLabel("__________________", JLabel.CENTER);
    lvoidd.setForeground(Color.BLUE);
    poggetto.add(lpannellodue);
    poggetto.add(lvoidd);



    //Istanziare il Layout(Utilizziamo il GridLayout)
    GridLayout g = new GridLayout(7,2,20,50);
    //Settiamo il layout
    poggetto.setLayout(g);



    //Selezione categoria dell'oggetto
    lcategoria = new JLabel("Categoria", JLabel.CENTER);
    poggetto.add(lcategoria);
    String elementi[] = {"Vestito", "Utensile", "CD", "DVD"};
    ccategoria = new JComboBox(elementi);
    poggetto.add(ccategoria);

    setOggettoGraphicBase();



    ccategoria.addActionListener(new ActionListener()
    {public void actionPerformed(ActionEvent e)
    {
    String park;
    park = ccategoria.getSelectedItem().toString();



    if (park == "Vestito")
    {
    setOggettoGraphicVestito(park);
    }

    else if(park == "Utensile")
    {
    setOggettoGraphicUtensile(park);
    }

    else if(park == "CD")
    {
    setOggettoGraphicCD(park);
    }

    else setOggettoGraphicDVD(park);
    }

    });
    }





    public void setOggettoGraphicBase()
    {
    //Inserimento dei campi per l'inserimento dei dati relativi all'oggetto


    //Nome dell'oggetto
    lnomeog = new JLabel("Oggetto", JLabel.CENTER);
    poggetto.add(lnomeog);
    tnomeog = new JTextField("Inserire oggetto");
    poggetto.add(tnomeog);


    //Breve descrizione dell'oggetto
    ldescrizione = new JLabel("Descrizione", JLabel.CENTER);
    poggetto.add(ldescrizione);
    tdescrizione = new JTextField("Inserire la descrizione");
    poggetto.add(tdescrizione);

    //Importanza dell'oggetto. Scala dei valori
    limportanza = new JLabel("Importanza", JLabel.CENTER);
    poggetto.add(limportanza);
    String elementi2[] = {"Preziosissimo", "Importante", "Generico", "Poco conto"};
    cimportanza = new JComboBox(elementi2);
    poggetto.add(cimportanza);
    }





    public void setOggettoGraphicVestito(String park)
    {


    System.out.println(park);

    ltaglia = new JLabel("Taglia", JLabel.CENTER);
    ttaglia = new JTextField("Inserire la taglia");

    lcolore = new JLabel("Colore", JLabel.CENTER);
    tcolore = new JTextField("Inserire colore");

    poggetto.add(ltaglia);
    poggetto.add(ttaglia);

    poggetto.add(lcolore);
    poggetto.add(tcolore);


    }




    public void setOggettoGraphicUtensile(String park)
    {

    System.out.println(park);

    lmisura = new JLabel("Misura", JLabel.CENTER);
    tmisura = new JTextField("Inserire misura");

    poggetto.add(lmisura);
    poggetto.add(tmisura);
    }




    public void setOggettoGraphicCD(String park)
    {


    System.out.println(park);

    lartista = new JLabel("Artista", JLabel.CENTER);
    tartista = new JTextField("Inserire Artista");

    ltitolo = new JLabel("Titolo", JLabel.CENTER);
    ttitolo = new JTextField("Inserire titolo");

    lgenere = new JLabel("Genere", JLabel.CENTER);
    tgenere = new JTextField("Inserire genere");



    poggetto.add(lartista);
    poggetto.add(tartista);

    poggetto.add(ltitolo);
    poggetto.add(ttitolo);

    poggetto.add(lgenere);
    poggetto.add(tgenere);
    }





    public void setOggettoGraphicDVD(String park)
    {


    System.out.println(park);

    lartista = new JLabel("Regista", JLabel.CENTER);
    tartista = new JTextField("Inserire regista");


    ltitolo = new JLabel("Titolo", JLabel.CENTER);
    ttitolo = new JTextField("Inserire titolo");


    lgenere = new JLabel("Genere", JLabel.CENTER);
    tgenere = new JTextField("Inserire genere");


    poggetto.add(lartista);
    poggetto.add(tartista);

    poggetto.add(ltitolo);
    poggetto.add(ttitolo);

    poggetto.add(lgenere);
    poggetto.add(tgenere);

    }
    Ogni popolo ha il governo che si merita...

  2. #2
    Il confronto tra stringhe non fa fatto con l'operatore == ma col metodo equals:

    Codice PHP:
    if(park.equals("Vestito")){
    ... 
    anzi... sarebbe meglio scrivere il contrario onde evitare possibi nullPointerException qualora park per un qualsiasi motivo sia null:

    Codice PHP:
    if("Vestito".equals(park)){
    ... 

    Al mio segnale... scatenate l'inferno!

  3. #3
    Grrrrrrrrrazie 1000000
    Ogni popolo ha il governo che si merita...

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.