Newsgroup: it.comp.java
Titolo: Java -version

Ciao ragazzi
Qualcuno di voi e' a conoscenza di eventuali incompatibilita' tra le
versioni  del  JDK 1.2.2 e 1.3 ?
sono veramente gradite segnalazioni di ogni tipo, da metodi che hanno
cambiato comportamento a nuovi bug introdotti etc etc.
Ringrazio tutti per l'attenzione.
--
"...Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno
sprovveduto che non lo sa e la inventa...".
             Albert Einstein

Precisazione: tanto per cominciare, se sei uno dei tanti che utilizzano
Borland JBuilder, non hai bisogno di nessun JDK, in quanto ce n'è una
versione incorporata nell'ambiente di sviluppo.
Diversamente, se ti appoggi effettivamente a JDK con strumenti tipo JPadPro
o se scrivi in Notepad, non ti devi preoccupare in quanto non esistono
incompatibilità. Stai piuttosto attento ai messaggi (non errori) di
compilazione: se utilizzi certe classi, queste vengono segnalate come
"deprecated", cioè sei caldamente invitato a non utilizzarle più, e la
documentazione ti spiega anche a quali altre classi fare riferimento, e
come. Ad esempio, java.util.Date è deprecated, il compilatore del JDK 1.3.1
invita ad utilizzare, in alternativa java.util.Calendar, o
java.util.GregorianCalendar

| se sei uno dei tanti che utilizzano Borland JBuilder, non hai bisogno di
nessun JDK,
  [cut]
| o se scrivi in Notepad, non ti devi preoccupare in quanto non esistono
| incompatibilità.
Uso JBuilder, ma il mio problema e' un altro, ho scritto del codice avendo
come riferimento (classi, compilazione, esecuzione  e rottura di scatole) il
JDK 1.2.2 (non uso cmq quello fornito in bundle con JB)
Ora mi e' stato chiesto di passare a 1.3
Non avrei dovuto trovare incompatibilita' in teoria...in pratica sono sorti
un paio di problemini
es:  classe.metodo(a,b) ora funge come classe.metodo(a,b-1)
e altre cose del genere (in particolare riguardano classi swing!!!)
Mi chiedevo se altri avessero riscontrato cose di questo tipo!
| Stai piuttosto attento ai messaggi (non errori) di
 [cut]
| invita ad utilizzare, in alternativa java.util.Calendar, o
| java.util.GregorianCalendar
grazie del prezioso consiglio

cambiato comportamento a nuovi bug introdotti etc etc.
Credo che troverai interessante
http://java.sun.com/j2se/1.3/docs/index.html
e in particolare
http://java.sun.com/j2se/1.3/compatibility.html
HTH
-- 
Ciao
	Fabrizio C.

|
| A questo indirizzo lo sanno ;-)
| 
java.sun.com
|
| Credo che troverai interessante
| 
http://java.sun.com/j2se/1.3/docs/index.html
| e in particolare
| 
http://java.sun.com/j2se/1.3/compatibility.html
| HTH
|
Si ok, ma credo che i problemi siano + di quelli segnalati....in particolare
quelli trovati da me non sono menzionati, forse perche' non trattasi di
incompatibilita' ma di un "diverso" comportamento del metodo o anche magari
di correzione di bug che prima consentivano operazioni che in realta' sono
scorrette....a questo genere di cose mi riferivo
 grazie cmq x la collaborazione
buon java...hem buon giorno ;-)

 che in realta' sono scorrette....
in questo caso di soliti i metodi vengono deprecated o -al piu'-
sollevano eccezioni (se gia` previste inzialmente in caso di situazione
anomala) anziche` eseguire il codice incriminato o ritornano null (se
questa situazione e` anch'essa prevista) anziche` un riferimento
valido... insomma: non mi viene in mente un esempio di metodo che
richiede una modifica nei parametri in input (ma praticamente non ho mai
usato swing, dove tu dici essere il codice incriminato).
Magari e` utile se alleghi un piccolo esempio cosi` altri possono
evitare gli errori nei quali sei incappato.
-- 
Ciao,  |     Gott weiss ich will kein Engel sein
Matteo |                     -- Rammstein, Engel

| Magari e` utile se alleghi un piccolo esempio cosi` altri possono
| evitare gli errori nei quali sei incappato.
ecco la documentazione
jdk1.2.2
removeRowSelectionInterval
public void removeRowSelectionInterval(int index0,
                                       int index1)
Deselects the rows from index0 to index0 inclusive.
Parameters:
index0 - one end of the interval.
index1 - other end of the interval
jdk 1.3
removeRowSelectionInterval
public void removeRowSelectionInterval(int index0,
                                       int index1)
Deselects the rows from index0 to index1, inclusive.
Parameters:
index0 - one end of the interval
index1 - the other end of the interval
Throws:
IllegalArgumentException - if index0 or index1 lie outside [0,
getRowCount()-1]
io prima dando come intervallo [0, getRowCount()] non ricevevo nessun errore
o problema, credo che sia giusta l'attuale versione, ma ovviamente il mio
codice (a runtime) andava a pippe!
spero che questo possa essere utile
ciao

> es:  classe.metodo(a,b) ora funge come classe.metodo(a,b-1)
È una cosa abbastanza curiosa! Non riesco a darmene una spiegazione
ragionevole. Se pubblicassi il codice sarebbe già diverso, si potrebbe
valutare il tuo caso particolare.
Come mai non ti appoggi alla versione di JDK inclusa in JBuilder? Ti
garantisco che è quella standard fornita da Sun.
...e comunque se ne hai la possibilità, da 
www.borland.com/jbuilder
 è
possibile scaricare la versione 5, edizione personal GRATUITAMENTE! e questa
si appoggia a JDK 1.3 Onestamente l'ho solamente guardato, non ti so dire in
quali funzionalità è stato limitato (sicuramente sarà così), però da una
occhiata molto superficiale, mi sembra ugualmente ben fatto.
Sono contento di esserti stato utile, fai però attenzione che non tutti i
compilatori visualizzano quelle informazioni sulle deprecated classes.

| È una cosa abbastanza curiosa! Non riesco a darmene una spiegazione
| ragionevole. Se pubblicassi il codice sarebbe già diverso, si potrebbe
| valutare il tuo caso particolare.
Io usavo il seguente codice
---------------------
Jtable jt = new Jtable
//fai certe operazioni su jt
jt.removeRowSelectionInterval(0, jt.getRowCount())
---------------------
con la 1.2.2 del JDK andava senza problemi mentre con la 1.3 lancia una
IllegalArgumentException (a runtime) come documentato nella nuova
documentazione (scusa il bisticcio di parole)
Ora, come ho gia' detto la cosa sara' anche corretta, ma il mio codice l'ho
dovuto modificare
Quindi non sempre e' cosi' indolore passare da una versione all'altra
PS: altri problemi di questo tipo (sempre swing!) sono stati riscontrati
anche da altri colleghi
Se avete notizie di cose di questo tipo vi prego di segnalarmele
grazie a tutti
---------------------------
ecco la documentazione
jdk1.2.2
removeRowSelectionInterval
public void removeRowSelectionInterval(int index0,
                                       int index1)
Deselects the rows from index0 to index0 inclusive.
Parameters:
index0 - one end of the interval.
index1 - other end of the interval
jdk 1.3
removeRowSelectionInterval
public void removeRowSelectionInterval(int index0,
                                       int index1)
Deselects the rows from index0 to index1, inclusive.
Parameters:
index0 - one end of the interval
index1 - the other end of the interval
Throws:
IllegalArgumentException - if index0 or index1 lie outside [0,
getRowCount()-1]
