List java come ottenere l'indice

di il
1 risposte

List java come ottenere l'indice

Ciao a tutti sono nuovo del forum... avrei bisogno di una mano... non so come ottenere l'elemento selezionato della lista così non mi ritorna nulla

vi posto il codice...

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.Arrays;
class Gui{
    private Choice c;
    private Panel p;
    private List lst;
    private TextArea t;
    private Treni [] treno;
    private Button compra;
    private TextArea cronologia;
    private int index;
    
    public Gui(Treni [] treno){
        JFrame f = new JFrame("Orari TrenItalia");
        c=new Choice();
        p=new Panel();
        t=new TextArea("",10,80);
        compra=new Button("comprare?");
        cronologia=new TextArea("cronologia acquisti",10,80);
        t.setEditable(false);
        cronologia.setEditable(false);
        f.setSize(800,700);
        f.setLocation(100,100);
        this.treno=treno; 
        f.add(p);
        String s="";
        lst = new List();
        for(int i=0;i<treno.length;i++){
            s=treno[i].toString();
            lst.add(s);
        }
        
        p.add(lst,BorderLayout.NORTH);
        p.add(c,BorderLayout.CENTER);
        p.add(t,BorderLayout.SOUTH);
        p.add(compra,BorderLayout.CENTER);
        p.add(cronologia,BorderLayout.SOUTH);
        c.add("ordina ora partenza");
        c.add("ordina ora arrivo");
        c.add("ordina citta' partenza");
        c.add("ordina citta' arrivo");
        
        c.addItemListener(new AscoltaScelta(c,lst,treno));
        lst.addItemListener(new AscoltaLista(t,lst,index));
        compra.addActionListener(new AscoltaPulsante(t,cronologia,treno[index]));
        f.setVisible(true);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}
class AscoltaScelta implements ItemListener{
    private List lst;
    private Choice c;
    private Treni []treno;
    public AscoltaScelta(Choice c,List lst,Treni []treno){
        this.lst=lst;
        this.c=c;
        this.treno=treno;
    }

    public void itemStateChanged(ItemEvent x){
        String s="";
        if(c.getSelectedItem()=="ordina ora partenza") 
            ListaTreni.ordinaOraPartenza(treno);
        if(c.getSelectedItem()=="ordina ora arrivo")
            ListaTreni.ordinaOraArrivo(treno);
        if(c.getSelectedItem()=="ordina citta' partenza")
            ListaTreni.ordinaStazionePartenza(treno);
        if(c.getSelectedItem()=="ordina citta' arrivo")
            ListaTreni.ordinaStazioneArrivo(treno); 
        lst.removeAll();
        for(int i=0;i<treno.length;i++){
            s=treno[i].toString();
            lst.add(s);
        }
    }
}

class AscoltaLista implements ItemListener{
   private TextArea t;
   private List lst;
   private int index;
   public AscoltaLista(TextArea t,List lst,int index){
       this.lst=lst;
       this.t=t;
       this.index=index;
    }
   public void itemStateChanged(ItemEvent e)
     {
         t.setText(lst.getSelectedItem());
         index=lst.getSelectedIndex();
     }
}

class AscoltaPulsante implements ActionListener{
    private TextArea crono;
    private TextArea scelta;
    private Treni treno;
    public AscoltaPulsante(TextArea scelta,TextArea crono,Treni treno){
        this.crono=crono;
        this.scelta=scelta;
        this.treno=treno;
    }
    public void actionPerformed (ActionEvent e){
       String x=""+treno.getCosto();
       crono.setText(x);
    }
}

1 Risposte

  • Re: List java come ottenere l'indice

    Vi rendo più semplice la vita... fatemi capiere perchè qui non cambia ogni volta la text area quando cambio la lista... CODICE :
    
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.util.Arrays;
    
    class ProvaList
    {  
        public static void main(String[] args){
            List lst;
            TextArea t;
            Panel p;
            int index=0;
            Frame f =new Frame("fa");
            p=new Panel();
            lst=new List();
            t=new TextArea();
            lst.add("a");
            lst.add("b");
            lst.add("c");
            lst.add("d");
            f.add(p);
            p.add(t);
            p.add(lst);
            lst.addItemListener(new AscoltaLista(lst,index));
            String s=""+index;
            t.setText(s);
            f.setVisible(true);
        }
    }
    
    class AscoltaLista implements ItemListener{
        private List lst;
        private int index;
        private TextArea t;
        public AscoltaLista(List lst,int index){
            this.lst=lst;
            this.index=index;
            this.t=t;
        }
    
    
        public void itemStateChanged(ItemEvent e)
        {
            index=lst.getSelectedIndex();
        }
    }
    
    
    GRAZIE
Devi accedere o registrarti per scrivere nel forum
1 risposte