View Full Version : [java] JSlider in una finestra di dialogo
EnricoilP
14-06-2008, 15:51
Ciao a tutti,
Devo fare in modo che, selezionando una voce in un JMenu, compaia una finestra di dialogo in cui venga visualizzato un JSlider che passi poi alla funzione chiamante il valore indicato dall'utente. Sarebbe molto comodo usare JOptionPane, peccato che non supporti slider. Come mi suggerite di fare?
Grazie mille.
Sarebbe molto comodo usare JOptionPane, peccato che non supporti slider.Piccolo dettaglio: nei metodi showXXXDialog() di JOptionPane, il secondo parametro č un "message" di tipo Object. Come spiega bene la documentazione, quel message puņ essere svariate cose, compreso ad esempio un componente AWT/Swing (che deriva da Component).
Quindi esempio:
JSlider slider = new JSlider ();
// ... impostazioni sul slider ...
JOptionPane.showMessageDialog (parente, slider);
E visto che il message puņ essere anche un array i cui elementi vengono "interpretati" in modo ricorsivo come serie di messaggi, si puņ anche fare ad esempio:
Object[] msg = { "Imposta un valore", slider };
JOptionPane.showMessageDialog (parente, msg);
Chiaramente puoi scegliere di personalizzare la dialog con un titolo aggiuntivo, icona ecc... usando le altre versioni di showXXXDialog.
EDIT: e aggiungo, giusto per chiarezza, che una volta terminato il showXXXDialog() il valore dello slider lo si ottiene semplicemente chiedendolo allo slider stesso con getValue().
EnricoilP
15-06-2008, 00:27
Chiarissimo, grazie!
Un'ultima cosa: a volte le finestre di dialogo, quando eseguite, risultano completamente vuote. Sono su Ubuntu. E' un bug locale?
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.