Partiamo dal presupposto che riempiamo una TableView in JavaFX usando oggetti custom.

Non mi metterò a spiegare come riempire una lista; potete vedere in un precedente articolo per come riempirla da database.

Qui vederemo come intercettare la riga selezionata, e come prendere i dati del relativo oggetto custom.

Ci sono alcuni IDE che non impostano l'ultima versione di Java come default in Maven.

Ad esempio IntelliJ, che mi ha fatto penare per una mezz'ora abbondante.

Volendo possiamo impostarlo noi nel pom.xml; io lo farei sempre a scanso di equivoci.

Come sappiamo, Ruby è un linguaggio che ha pieno supporto alla OOP.

Oggi vediamo come implemente il concetto di ereditarietà.

Sono rimasto sorpreso dal poco codice che ho dovuto scrivere per listare file e directory in Kotlin.

Vediamo tre esempi, con tre funzioni diverse:

  • list() -> ritorna un array di String, e quindi stampa solo il nome dei file
  • listFiles() -> ritorna un array di File, e quindi è possibile accedere a tutte le varie funzioni e proprietà di un oggetto File
  • walk() -> che produce un FileTreeWalk, e lista i file in maniera ricorsiva; ci sono anche le funzioni walkBottomUp() e walkTopDown(), che si differenziano solo per il verso un cui eseguono la scansione (poetet vedere su Stack Overflow la mia domanda)

Quando si hanno dati in forma tabellare, quasi sicuramente abbiamo bisogno di intercettare qualche evento per recupare i dati.

Qui vediamo come intercettare il doppio click del mouse su una TableView in JavaFX.

Cominciamo dal layout FXML:

<BorderPane xmlns="http://javafx.com/javafx/8.0.112" 
            xmlns:fx="http://javafx.com/fxml/1"
            fx:controller="com.mp.book.ControllerMain">
    <center>
        <TableView fx:id="tblBooks" BorderPane.alignment="CENTER" 

onMouseClicked="#onTblDoubleClick"/>
    </center>
</BorderPane>

JavaFX arriva già con strumenti per la creazione di grafici senza usare librerie esterne.

Sono anche abbastanza semplici da usare.

Vediamo un esempio di PieChart.

Per creare classi Singleton in Python, abbiamo parecchie alternative.

Non saprei dirvi quale sia la migliore, visto che tra tutte quelle trovate in giro mi sono trovato bene con il codice che vedete più sotto.

E semplicemente perchè è un codice più simile a quello con cui sono abituato in Java o PHP.

(Devo essere sincero: la sintassi Python la digerisco ancora poco).

Per creare grafici nelle nostre pagine web, siamo abituati ad usare librerie esterne in Javascript.

Anche giustamente, visto che ce ne sono alcune spettacolari.

Ma in verità possiamo creare grafici anche per conto nostro, usando HTML, Canvas e Javascript (ovviamente).

Per copiare file, Kotlin mette a disposizione una funzione apposita: copyTo!

La funzione accetta tre parametri, di cui solo il primo è obbligatorio:

  • il file di destinazione
  • se sovrascrivere il file di destinazione nel caso in cui già esista
  • la dimensione del buffer

Anche Qt, come molti framework per la costruzione di gui, ha un widget apposito per le date: QDateEdit.

Usarlo è abbastanza semplice; nel caso più banale basta questo:

QDateEdit calendar = new QDateEdit();