Implementare un directory picker in Swift
In un precedente articolo abbiamo visto come implementare un file picker in Swift.
Oggi vediamo come implementare un directory picker.
In un precedente articolo abbiamo visto come implementare un file picker in Swift.
Oggi vediamo come implementare un directory picker.
Siamo in ambito Swift su macOS.
Quello che vogliamo fare è implementare un file picker, in modo da permettere all'utente di scegliere uno o più files.
Il tutto avviene attraverso l'oggetto NSOpenPanel.
JavaFX e Swing rappresentano i toolkit grafici più usati in ambito Java; in cui JavaFX è considerato quello del futuro, riespetto a Swing che sarà pian piano abbandonato.
Però ho avuto un problema che ho dovuto risolvere usandoli insieme.
In pratica, in un progetto JavaFX, sto usando HTMLEditor; solo che il tasto invio non funziona, ed al suo posto bisogna usare CTRL+M.
Girando ho capito che si tratta di un bug abbastanza noto.
Ho trovato un plugin per jQuery che permette di creare pannelli dentro una pagina web in maniera veramente easy: jsPanel!
Se guardate gli esempi e la documentazione, potete notare che le possibilità sono veramente tante.
C'è anche l'integrazione con la prossima versione di Bootstrap, ed è possibile creare pannelli espandibili, finestre modali, toolbar, menu contestuali, ecc.
Insomma tanta roba.
Impostare un'immagine in background su un JPanel non è un'impostazione difficile.
Ci bastano un BufferedImage e ImageIO.
Vediamo un esempio di JPanel che richiede nel costruttore un oggetto File (l'immagine appunto).
Nell'esempio non ho fatto un controllo sulla effettiva esistenza del file; quello mettetelo dove meglio credete nella vostra applicazione.
Sono rimasto un pò sorpreso dal fatto che i JFrame non hanno la possibilità di essere finestre modali.
Essendo un componente molto usato, lo davo per scontato.
Però, se vogliamo creare finestre modali in Java, possiamo comunque rivolgerci ai JDialog.
Estendendo questa classe, possiamo creare finestre con tutti i componenti che vogliamo, e rendere la finestra modale.
Oggi vediamo un esempio.
All'interno ci piazziamo anche un JPanel; in questo modo possiamo personalizzare la finestra come ci pare, in quanto ci basterà mettere i componenti che ci servono dentro al JPanel.