RISOLTO Java8 + GUI

Stato
Discussione chiusa ad ulteriori risposte.

petrusic

Utente Attivo
227
20
CPU
AMD Athlon - X86_64
Scheda Madre
Acer RS780HVF
HDD
SSD PLUS da 240GB (ospita 3 S.O Linux), WDC WD10EFRX-68F da 1000GB (ospita solo archivi dati)
RAM
n.2 DDR" per 2GB
OS
fedora 28 Mate, Ubuntu Mate, Linux Mint 19
Ciao a tutti.
Penso di avere completato lo studio degli elementi di base di java e dallo svolgimento di qualche esercizietto da linea di comando. Mi sento soddisfatto di quello che sono riuscito ad ottenere e proseguendo nel cammino vorrei cominciare a passare a studiare qualcosa sui file sequenziali, prima di passare ai DB.
Il libro che sto seguendo per l'apprendimento pone detta parte di studio dopo l'introduzione alla programmazione della GUI.
Ho perciò cominciato a rivolgere la mia attenzione alla GUI ed all'installazione di un IDE adeguato.
Ho pensato allrora di cominciare a mettere in pratica l'ulizzo di NetBeans. Però netBeans mi ha dato qualche problema di installazione in fedora. L'avevo installato su fedora28-Xfce, ma, nel frattempo ho installato la versione di fedora28-Mate ed ho ho dovuto riconfigurare tutto l'ambiente. Visto che ho trovato java8 già installato
Codice:
$ java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b15)
OpenJDK 64-Bit Server VM (build 25.181-b15, mixed mode)
[petrus@localhost ~]$
ho scaricato NetBeans per Java SE e FX ed ho lanciato l'esecuzione di "netbeans-8.2-javase-linux.sh".
L'installazione s'è avviata bene ed ha proseguto fino alla fase di verifica, durante la quale è comparso il seguente messaggio d'errore warning:
The JDK is missing and is required to run some NetBeans modules
Please use the --jdkhome command line option to specify a JDK installarion or see http://http://wiki.netbeans.org/FaqRunningOnJre for more information.
Ho quindi optato per completare l'installazione, tralasciando moduli JDK, e sono andato a leggere quanto contenuto nel link indicato nel messaggio d'errore:
the full IDE distribution or any distribution which requires JDK libraries such as tools.jar and dt.jar like Java SE or Web & Java EE still need to run on full JDK installation.
e temo pertanto che il mio ambiente NetBeans non possa funzionare a dovere. Che ne pensate?
 

JayX

Utente Attivo
285
102
Se ho capito bene te hai installato correttamente netbeans ma non hai installato la jdk, giusto?
 

pabloski

Utente Èlite
2,868
916
e temo pertanto che il mio ambiente NetBeans non possa funzionare a dovere. Che ne pensate?

E' peggio. Senza JDK non puoi compilare nessun programma Java. Il compilatore javac fa parte dello JDK. Il pacchetto da installare è java-1.8.0-openjdk-devel

p.s. la GUI del libro qual é? Swing o JavaFX?
 

petrusic

Utente Attivo
227
20
CPU
AMD Athlon - X86_64
Scheda Madre
Acer RS780HVF
HDD
SSD PLUS da 240GB (ospita 3 S.O Linux), WDC WD10EFRX-68F da 1000GB (ospita solo archivi dati)
RAM
n.2 DDR" per 2GB
OS
fedora 28 Mate, Ubuntu Mate, Linux Mint 19
Se ho capito bene te hai installato correttamente netbeans ma non hai installato la jdk, giusto?

E' peggio. Senza JDK non puoi compilare nessun programma Java. Il compilatore javac fa parte dello JDK. Il pacchetto da installare è java-1.8.0-openjdk-devel

In virtù delle vostre risposte, ho disinstallato netbaeans e, anche se a me risultava già installato, ho provato ad installare
java-1.8.0-openjdk e java-1.8.0-openjdk-devel, ma l'installazione è stata rifiutata perchè è tutto già installato:
Codice:
[root@localhost netbeans-8.2]# dnf install java-1.8.0-openjdk
Ultima verifica della scadenza dei metadati: 0:45:18 fa il mer 07 nov 2018 12:25:10 CET.
Il pacchetto java-1.8.0-openjdk-1:1.8.0.181.b15-5.fc28.x86_64 è già installato, viene ignorato.
Dipendenze risolte.
Nothing to do.
Fatto!
[root@localhost netbeans-8.2]# dnf install java-1.8.0-openjdk-devel

Ultima verifica della scadenza dei metadati: 0:46:01 fa il mer 07 nov 2018 12:25:10 CET.
Il pacchetto java-1.8.0-openjdk-devel-1:1.8.0.181.b15-5.fc28.x86_64 è già installato, viene ignorato.
Dipendenze risolte.
Nothing to do.
Fatto!
[root@localhost netbeans-8.2]#
D'altronde ho svolto con soddisfazione alcuni esercizi che ho regolarmente compilato ed eseguito da riga di comando.
Non capisco perchè l'installazione di NetBeans mi provochi il tipo di errore indicato nel messaggio d'apertura.

la GUI del libro qual é? Swing o JavaFX?
JavaFX[/QUOTE]
 

JayX

Utente Attivo
285
102
In virtù delle vostre risposte, ho disinstallato netbaeans e, anche se a me risultava già installato, ho provato ad installare
java-1.8.0-openjdk e java-1.8.0-openjdk-devel, ma l'installazione è stata rifiutata perchè è tutto già installato:
Codice:
[root@localhost netbeans-8.2]# dnf install java-1.8.0-openjdk
Ultima verifica della scadenza dei metadati: 0:45:18 fa il mer 07 nov 2018 12:25:10 CET.
Il pacchetto java-1.8.0-openjdk-1:1.8.0.181.b15-5.fc28.x86_64 è già installato, viene ignorato.
Dipendenze risolte.
Nothing to do.
Fatto!
[root@localhost netbeans-8.2]# dnf install java-1.8.0-openjdk-devel

Ultima verifica della scadenza dei metadati: 0:46:01 fa il mer 07 nov 2018 12:25:10 CET.
Il pacchetto java-1.8.0-openjdk-devel-1:1.8.0.181.b15-5.fc28.x86_64 è già installato, viene ignorato.
Dipendenze risolte.
Nothing to do.
Fatto!
[root@localhost netbeans-8.2]#
D'altronde ho svolto con soddisfazione alcuni esercizi che ho regolarmente compilato ed eseguito da riga di comando.
Non capisco perchè l'installazione di NetBeans mi provochi il tipo di errore indicato nel messaggio d'apertura.


JavaFX
[/QUOTE]
Prova a disinstallare la versione di java che hai ora e la jdk, e prova ad installare la versione di netbeans che contiene già di suo la jdk corretta.
 

petrusic

Utente Attivo
227
20
CPU
AMD Athlon - X86_64
Scheda Madre
Acer RS780HVF
HDD
SSD PLUS da 240GB (ospita 3 S.O Linux), WDC WD10EFRX-68F da 1000GB (ospita solo archivi dati)
RAM
n.2 DDR" per 2GB
OS
fedora 28 Mate, Ubuntu Mate, Linux Mint 19

pabloski

Utente Èlite
2,868
916
Sto cercando di capire come usarlo, però, se è basato come swing, penso che per disegnare la GUI, occorra sempre lavorare con NetBeans.

No, ha un workflow molto diverso e basato sui moderni criteri per la creazione delle interfacce. Il codice dell'interfaccia va realizzato tramite il linguaggio FXML ( una specie di HTML ) e poi viene tradotto al volo dal compilatore. Lo stesso metodo è usato dappertutto, da Android a .NET. Non c'è più la necessità di istanziare in codice tutti i componenti, poi chiamati i vari metodi insert per ficcare ogni controllo nel suo contenitore ( una finestra in genere ), ecc...

E' spaesante all'inizio, ma ci si guadagna in produttività una volta capito il meccanismo.
 

petrusic

Utente Attivo
227
20
CPU
AMD Athlon - X86_64
Scheda Madre
Acer RS780HVF
HDD
SSD PLUS da 240GB (ospita 3 S.O Linux), WDC WD10EFRX-68F da 1000GB (ospita solo archivi dati)
RAM
n.2 DDR" per 2GB
OS
fedora 28 Mate, Ubuntu Mate, Linux Mint 19
Allora, è ridondante rispetto a NetBeans, oppure per generare e posizionare manualmente tutti gli oggetti grafici in un progetto devo sempre ricorrere a NetBeans?

Ho cominciato oggi a leggere il capitolo su JavaFX, ma ho bisogno di fare qualche prova guidata per capire come funziona ed acquisire la dovuta dimestichezza, però da quello che ho letto mi sembra difficile posizionare gli oggetti come pulsanti, caselle di testo , ... dentro il grande contenitore stage.
NetBeans dovrebbe rendere più facile detto tipo di approccio. O no?
 

pabloski

Utente Èlite
2,868
916
Allora, è ridondante rispetto a NetBeans, oppure per generare e posizionare manualmente tutti gli oggetti grafici in un progetto devo sempre ricorrere a NetBeans?

No perchè? NetBeans fa il suo mestiere di IDE e offre supporto all'autocompletamento, highlighting della sintassi, ecc... FXML è usato da Java per capire come dev'essere fatta la GUI. Ma NetBeans o altri IDE vanno comunque usati se non si preferisce un normale editor...de gustibus!

mi sembra difficile posizionare gli oggetti come pulsanti, caselle di testo , ... dentro il grande contenitore stage.

E' differente. FXML è come HTML, dove i vari elementi innestati vanno messi fisicamente dentro il contenitore

Un esempio banale come questo

Java:
<GridPane alignment="CENTER" hgap="10.0" vgap="10.0"
    xmlns:fx="http://javafx.com/fxml"
    fx:controller="fxmltableview.FXMLTableViewController">
    <padding>
        <Insets bottom="10.0" left="10.0" right="10.0" top="10.0"/>
    </padding>
    <Label style="-fx-font: NORMAL 20 Tahoma;" text="Indirizzi"               
        GridPane.columnIndex="0" GridPane.rowIndex="0">
    </Label>
    <TableView fx:id="tableView" GridPane.columnIndex="0"
        GridPane.rowIndex="1">
<columns>
          <TableColumn text="Nome">
          </TableColumn>
          <TableColumn text="Cognome">
          </TableColumn>
          <TableColumn text="E-mail">
          </TableColumn>
     </columns>  
    </TableView>
</GridPane>

Crea una finestra con dentro una label e una tableview. Entrambe fisicamente posizionate ( automaticamente ) dal GridPane. Il punto è che i posizionamenti si fanno tramite i layout e non rigidamente specificando le coordinate di ogni elemento.

NetBeans dovrebbe rendere più facile detto tipo di approccio. O no?

Direi proprio di si https://netbeans.org/features/java-on-client/javafx.html
 

petrusic

Utente Attivo
227
20
CPU
AMD Athlon - X86_64
Scheda Madre
Acer RS780HVF
HDD
SSD PLUS da 240GB (ospita 3 S.O Linux), WDC WD10EFRX-68F da 1000GB (ospita solo archivi dati)
RAM
n.2 DDR" per 2GB
OS
fedora 28 Mate, Ubuntu Mate, Linux Mint 19
non trova il jdk, nel qual caso devi specificarne la posizione o durante l'installazione o nelle prefenze/opzioni di netbeans
Finjalmente ho capito cosa volevi dire. Ho avviato l'installazione di NetBeans e al passo di richiesta della direcotiory di destinazione dell'installazione e della ricerca delle JDK per NetBeans ho risposto con:
Install the NetBeansIDE to:
/usr/local/netbeans-8.2

JDK for the NetBeans IDE:
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181.b15-5.fc28.x86_64
e sono andato avanti fino alla fine.
Tuttavia, quando ho cercato di avviare un nuovo progetto JavaFX, ho ricevuto:
netbeans_javaFX.png
Naturalmente non so come potrei muovermi per andare avanti, infatti non capisco perchè non riesca a creare automaticamente la piattaforma occorrente, nè tantomeno, saprei come crearla io.
 

petrusic

Utente Attivo
227
20
CPU
AMD Athlon - X86_64
Scheda Madre
Acer RS780HVF
HDD
SSD PLUS da 240GB (ospita 3 S.O Linux), WDC WD10EFRX-68F da 1000GB (ospita solo archivi dati)
RAM
n.2 DDR" per 2GB
OS
fedora 28 Mate, Ubuntu Mate, Linux Mint 19
Dice che manca il SDK di JavaFX. In effetti da alcuni mesi viene distribuito separatamente. Il pacchetto in fedora mi pare si chiami java-1.8.0-openjdk-openjfx
oops ... il quasi panico non mi ha fatto leggere bene il contenuto del messaggio d'errore.
Hai ragione, dopo avere installato java-1.8.0-openjdk-openjfx, ho reinstallato NetBeans e, questa volta sono riuscito ad avviarlo bene.
Grazie!
 

pabloski

Utente Èlite
2,868
916
oops ... il quasi panico non mi ha fatto leggere bene il contenuto del messaggio d'errore.
Hai ragione, dopo avere installato java-1.8.0-openjdk-openjfx, ho reinstallato NetBeans e, questa volta sono riuscito ad avviarlo bene.
Grazie!

Adesso però faccio il rompiscatole :D

NetBeans è un buon IDE per carità, ma se vuoi il massimo dell'esperienza di programmazione Java, ti consiglio vivamente IntelliJ Idea.

Non è obbligatorio e non è che con NetBeans non si scrivano programmi Java, ma IntelliJ ha qualche marcia in più.
 

petrusic

Utente Attivo
227
20
CPU
AMD Athlon - X86_64
Scheda Madre
Acer RS780HVF
HDD
SSD PLUS da 240GB (ospita 3 S.O Linux), WDC WD10EFRX-68F da 1000GB (ospita solo archivi dati)
RAM
n.2 DDR" per 2GB
OS
fedora 28 Mate, Ubuntu Mate, Linux Mint 19
NetBeans è un buon IDE per carità, ma se vuoi il massimo dell'esperienza di programmazione Java, ti consiglio vivamente IntelliJ Idea.
Non è obbligatorio e non è che con NetBeans non si scrivano programmi Java, ma IntelliJ ha qualche marcia in più.

Io non ho grandi scopi da raggiungere. Devo solo mettermi in grado di scivere progettini satndAlone da fare girare sul mio pc desktop, progettini stupidissimi, come, per es. crearmi un'agenda di impegni con la funzione anche di scadenzario, gestire un piccolo archivio dei medicinali usati ed in uso in casa, e altri piccoli servizi che mi possono venire in mente, solo allo scopo di mantenere elastica la mia vecchia e stanca mente.

Il tuo consiglio arriva in un momento di sconforto per una nuova sconfitta inflittami da NetBeans e dalle JDK di Java, proprio mentre stavo pensando di abbandonare Java.
Se IntelliJ ha una marcia in più, può significatre che è più difficile di NetBeans. Ci lavoro un pò su, poi ti dico.
Post unito automaticamente:

Ho installato il nuovo IntelliJ IDEA e come immaginavo non è, a mio avviso, un ambiente per principianti. Non sono nemmeno riuscito a capire se è posssibile impostare l'italiano come lingua come preferenza.:varie13:
 
Ultima modifica:
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!