Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Implementare evento su JList

    Salve ragazzi come sempre ho bisogno del vostro impareggiabile aiuto.

    Ho creato una JList posto il codice:

    codice:
    JPanel stuffPanel = new JPanel();
            String[] scelte = {"una", "due", "tre", "quattro"};
            JList lista = new JList(scelte);
            ListSelectionListener selectionListener = new SelectionListener();
            lista.addListSelectionListener(selectionListener);
            stuffPanel.setLayout( new GridLayout( 0, 1 ) );    
            stuffPanel.add(lista);
    Adesso però vorrei fare in modo che quando clicco sul testo "una"; "due"...

    ora io vorrei implementare un metodo che quando clicco su una delle 4 opzioni mi restituisca un una stringa. Mi spiego meglio se clicco su una mi deve restituire una variabile stringa il cuitesto è "una"; se clicco su due a stringa restituita deve essere "due" ecc ecc

    mi potete dare un aiuto

    saluti a tutti

  2. #2
    Salve, sono riuscito nel mio intento soltanto che ho un piccolo problemino.

    il codice è il seguente.

    codice:
    JPanel stuffPanel = new JPanel();
            String[] scelte = {"una", "due", "tre", "quattro"};
            final JList lista = new JList(scelte);
            lista.addListSelectionListener(new ListSelectionListener(){
            	public void valueChanged(ListSelectionEvent e){
            		String valore=(String) lista.getSelectedValue();
            		System.out.println(valore);
            		try{
            	        createSwingInternalFrame( desktopPane, "My CICCIO", 10, 150 );
            	}catch(Exception a){} 
            	}
            }
            );
    Il problema che si pone è che quando clicco col mouse su un elemento della lista per esempio uno o due, è come se io avessi cliccato sopra due volte infatti ogni volta mi viene stampato due volte la stringa contenuta nella variabile "valore". Questo genera una sorta di errore perchè fa creare 2 volte un InternalFrame.

    Mi sapete dire il perchè????

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da bircastri
    Il problema che si pone è che quando clicco col mouse su un elemento della lista per esempio uno o due, è come se io avessi cliccato sopra due volte
    Devi tenere in considerazione cosa ti fornisce il getValueIsAdjusting() del ListSelectionEvent. Vedi documentazione. Se non è chiaro, chiedi.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Ma io non utilizzo il metodo che tu mi hai indicato

    poi dove la pesco la documentazione?

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Originariamente inviato da bircastri
    Ma io non utilizzo il metodo che tu mi hai indicato

    poi dove la pesco la documentazione?
    google..e sito della sun

    http://java.sun.com/javase/6/docs/ap...tionEvent.html

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da bircastri
    Ma io non utilizzo il metodo che tu mi hai indicato
    Forse non hai ancora compreso: devi usarlo se vuoi determinare se la selezione sta ancora cambiando oppure no.

    Scenario: hai 4 elementi nel JList: "a", "b", "c", "d". Tu clicchi su "a", poi tenendo premuto "trascini" la selezione su "b" e poi "c". Qui hai 3 eventi dove getValueIsAdjusting() ti fornisce true (= la selezione sta ancora cambiando).
    Quando, mentre sei ancora su "c", tu rilasci il tasto del mouse, viene generato un ulteriore evento, dove stavolta getValueIsAdjusting() fornisce false (= la fase di selezione è terminata).

    Nel caso più estremo e ristretto, se tu fai click (pressione+rilascio) su 1 unico elemento del JList hai comunque i 2 eventi, uno con getValueIsAdjusting() a true, l'altro a false.

    Ed è questo che ti ha fregato finora.

    Originariamente inviato da bircastri
    poi dove la pesco la documentazione?
    La documentazione javadoc di Java SE si trova qui (e si può anche scaricare dal sito java.sun.com per averla offline).

    Se non hai a portata di mano (ehm ... mouse) e non consulti assiduamente la documentazione del framework, non programmi in Java ... nemmeno dopo 2 anni di esperienza.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7

    RISOLTO

    Grazie per il vostro aiuto e comesempre ho risolto.

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.