Opzioni deprecate in Java ma gestite da NetBeans

di il
9 risposte

Opzioni deprecate in Java ma gestite da NetBeans

Buongiorno,
vi chiedo gentilmente una mano circa questa situazione.

Uso Apache NetBeans IDE 20 su Debian 12.4 per sviluppare in Java.
Durante la fase di compilazione mi indica che l'uso di SHIFT_MASK e di CTRL_MASK è deprecato,
per esempio in questa istruzione:

ItemFilm.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));

Il fatto è che questo tipo di istruzioni le crea direttamente NetBeans in base a come imposto la Form, in questo caso una voce di menù, e non riesco a capire quale parametro modificare per non fargli usare quei valori ma SHIFT_DOWN_MASK e CTRL_DOWN_MASK come indica il sito di Oracle.

Qualcuno riesce a darmi una dritta su come rimediare? 

9 Risposte

  • Re: Opzioni deprecate in Java ma gestite da NetBeans

    NetBeans usa dei template PRECONFIGURATI salvati da qualche parte che tu NON DEVI MODIFICARE.

    Fai le modifiche A MANO.

    Non e' che ci voglia un “genio” per capirlo!

  • Re: Opzioni deprecate in Java ma gestite da NetBeans

    11/02/2024 - migliorabile ha scritto:


    Fai le modifiche A MANO.

    Non e' che ci voglia un “genio” per capirlo!

    Certo, peccato che NetBeans non permetta di modificare a mano il codice da lui generato.
    Per cui dovrei modificare i file sorgenti con un altro editor.

    Il fatto è che non so che conseguenze potrebbe avere nel momento in cui successivamente andassi a modificare la form tramite l'interfaccia grafica di NetBeans etc.

    Per questo ho chiesto aiuto, per verificare se ci fosse una soluzione dall'interno di NetBeans stesso, magari tramite qualche aggiornamento o con qualche impostazione di configurazione, perché NetBeans ha un mucchio di funzioni che non uso e non so nemmeno cosa facciano.

    Lo uso perché mi consente di creare le form con un'interfaccia grafica e quindi molto velocemente e con un riscontro visivo imemdiato.

  • Re: Opzioni deprecate in Java ma gestite da NetBeans

    Deprecato vuol solo dire che ci sono alternative migliori NON  che quegli oggetti non funzionano. 

    In questo caso e' solo un cambio di nome con nomi piu' significativi.  per cui puoi continuare ad usare le finzionalita' deprecate senza problemi, almeno fino a che saranno disponibili.

    Ma verranno rimosse su versioni successive di Java, quindi a te basta NON USARE la versione di java da cui sono state rimosse. 

    Regola FONDAMENTALE nello sviluppo professionale: NON SI USA MAI l'ultima versione di qualcosa, MA la versione piu' stabile, ad esempio le LTS. 

  • Re: Opzioni deprecate in Java ma gestite da NetBeans

    Eh, amico caro, nel mio primo messaggio sono stato un pò frettoloso. Avrei dovuto spiegare meglio la situazione.
    Di fatto sono stato uno sviluppatore professionale, ma dell'epoca jurassica: Assembler, Fortran IV, Fortran 77, C, e per circa 20 anni in VB ovviamente rigorosamente su Windows.

    Poi quando ho smesso di farlo a livello professionale, ho deciso di affrontare il mondo Linux, con varie distro, e quindi di imparare Java per sviluppare applicazioni per uso personale, che però fossero multipiattaforma, perché per varie ragioni ho sempre dovuto usare pc in multiboot con Windows e un paio di distro di Linux.
    Siccome però ero, e sono, impegnatissimo con altri lavori il tempo per studiare e provare è sempre stato pochissimo e quindi continuo a barcamenarmi cercando informazioni sul web e quando proprio non riesco ad uscirne cerco aiuto nei forum.

    Da un paio di anni ho inziato ad utilizzare Debian e fino a qualche mese fa ero fermo alla 11.8 su cui ho NetBeans 8.2 con Java 8 o 1.8 che ho anche su Windows 8.1

    Poi qualcuno mi ha convinto ad aggiornare Debian e ho installato in parallelo Debian 12.4 per metterlo in funzione con le stesse applicazioni che usavo ormai stabilmente su Debian 11

    Il fatto è che su Debian 12.4 ho trovato da installare Apache NetBeans IDE 20 che al suo interno ha Java 17.0

    Questo per rispondere alla questione delle versioni.  
    Di fatto non ho ancora capito che criterio viene usato per le versioni di Java, perché ogni tanto lo vedo citare con una numerazione del tipo 1.7 - 1.8 e ogni tanto con 8, 10, 17 e non ci capisco una cippa.

    Per concludere, mi è chiaro che posso continuare ad usare le strutture dichiarate deprecate, ma per mio carattere non mi piace usare qualcosa che da un momento all'altro potrebbe non funzionare più, magari a causa di qualche aggiornamento di versione, come hai giustamente detto anche tu.

    Vorrei anche capire e risolvere la causa di certi messaggi di Warning che compaiono durante la compilazione.
    Mi danno troppo fastidio. ;-)

    Quindi tutta sta sbrodolata per cercare di spiegare come mai ho chiesto una mano per capire come risolvere i messaggi dei deprecate.

    Se tu o qualcun altro riesce a darmi una mano vi ringrazio. 

  • Re: Opzioni deprecate in Java ma gestite da NetBeans

    I numeri di versione 1.8 e 8 sono un pasticcio storico ;-) 

    Il pasticcio si ferma alla versione 8/1.8 

    1.7 e' la versione 7 (sette) , 17 e' proprio la versione diciassette. 

    Le cose deprecate sono tali proprio perche' dopo un po' verranno rimosse. Dopo quante versioni? Dipende, ma in genere dopo 2, se mi ricordo bene.

    Nella documentazione delle cose deprecate in genere c'e' scritto come vengono sostituite. 

    Altre volte vengono proprio rimosse perché nessuno le usa. 

    Bisogna seguire la documentazione di versione in versione

    NetBeans non ha al suo interno una certa versione di java, né installa una di default per comodità. E' un IDE, non e' difficile configurare il progetto in modo da usare una versione specifica. Io ho installate dalla 6 (1.6) alla 23 ed anche delle varianti di altri brand e passo da una all'altra senza problemi 

  • Re: Opzioni deprecate in Java ma gestite da NetBeans

    Ottimo! Grazie mille per le precisazioni. :-)
    Adesso finalmente mi è chiara la faccenda delle versioni di Java.

    A questo punto allora mi conviene aggiornare Java ad una versione più recente, perché anche la 17 è ormai vecchiotta, e penso che le versioni più recenti siano incompatibili con Windows 8.1, ma cercherò informazioni al riguardo.

    Per il resto, deprecate e warning cercherò anche li di studiare un pò di più, perché me le voglio togliere di torno. ;-)

  • Re: Opzioni deprecate in Java ma gestite da NetBeans

    Diciamo che per ‘stabilita’ le versioni da usare sono le Long Term Support: 8, 11, 17, 21.

    le altre vengono fornite per ‘sperimentare’ le future nuove funzionalita', che non e' detto vengano poi incluse nelle LTS

  • Re: Opzioni deprecate in Java ma gestite da NetBeans

    The method java.lang.ThreadGroup.stop() has been removed in this release (23). This inherently unsafe method was deprecated in JDK 1.2 (1998), deprecated for removal in Java 18, and re-specified/degraded in Java 20 to throw UnsupportedOperationException.

    Come puoi leggere, certe cose deprecate sono rimaste tali per 25 anni. Direi che dopo 25 anni che si avverte che quella funzionalita' e' deprecate, si può anche rimuovere! 

  • Re: Opzioni deprecate in Java ma gestite da NetBeans

    Grazie mille per le ulteriori delucidazioni.

    Allora potrebbe avere senso installare la versione 17 di Java anche su Windows 8.1, sempre che sia compatibile.

Devi accedere o registrarti per scrivere nel forum
9 risposte