|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2003
Città: Fidenza (PR)
Messaggi: 367
|
[java] aiuto per applet
devo scrivere un'applet java per un esame, ma sono del tutto ignorante in materia.
il programma consiste in un semplice convertitore di unità di misura. un "choice" (choice 1) permette la selezione della grandezza fisica da convertire mentre altre due "scelte" (choice 2, choice 3) sono per la definizione delle unità di misura, di partenza e di arrivo (es: massa, da g a kg) ora, il mio problema è: come faccio a fare in modo che ogni volta che si sceglie una grandezza in choice 1, in choice 2 e choice 3 siano selezionabili solamente le unità di misura riferite a quella particolare grandezza?(es: massa, g,kg,t,mg,...) grazia a chiunque abbia voglia di darmi una mano. |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Leggi (se non l'hai già fatto) <qui> il tutorial sulle combobox.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jan 2003
Città: Fidenza (PR)
Messaggi: 367
|
grazie innanzitutto.
purtroppo non ho la più pallida di idea di cosa sia swing. perdona la mia ignoranza... |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Con la combo-box in alto puoi scegliere tra 2 liste di colori. Scegliendone una, la combo-box in basso viene aggiornata con la rispettiva lista. Ovviamente è solo un semplice e banale esempio ma può esserti utile come spunto per realizzare la tua applet.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jan 2003
Città: Fidenza (PR)
Messaggi: 367
|
nel caso volessi sostituire l'istruzione if con una switch come dovrei fare?
ci ho provato ma mi da errore e non riesco a capire dove sbaglio. |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Codice:
switch (idx)
{
case 0:
comboColori.setModel (comboModel1);
break;
case 1:
comboColori.setModel (comboModel2);
break;
}
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jan 2003
Città: Fidenza (PR)
Messaggi: 367
|
ok, ci siamo quasi.
ancora un problemino. in pratica choice2 e choice3 non sono indipendenti. se seleziono un'unità di misura in choice2 cambia anche quella in choice3 così non riesco a selezionare due unità di misura differenti. mi spiego? |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Non ho tempo adesso di provare ... ma dovrebbe essere così.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jan 2003
Città: Fidenza (PR)
Messaggi: 367
|
risolto...
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Jan 2003
Città: Fidenza (PR)
Messaggi: 367
|
ennesimo problema.
fatti i dovuti calcoli, tramite un pulsante il risultato finale dovrebbe comparire nel campo testo in fondo all'applet. il problema è che non riesco a gestire in maniera corretta il click sul bottone; a dire il vero non so proprio come comportarmi. ho fatto un tentativo ma non funziona o meglio, il pulsante fa il suo lavoro, ma smette di funzionare la combobox. dove sbaglio? allego il listato per maggiore chiarezza. |
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
(A) Hai scritto: double i=Double.valueOf(valuet.getText()).doubleValue(); Non è sbagliato ma si può fare in modo più semplice con: double i = Double.parseDouble (valuet.getText()); Però dovresti mettere un try-catch per catturare l'eccezione NumberFormatException. Se la stringa è vuota o non contiene numeri in formato valido viene lanciata questa eccezione. Inoltre questa conversione adesso la fai in qualunque caso, perché è all'inizio del metodo actionPerformed e non va molto bene così. Quindi dovresti: 1) prendere la stringa dal campo di testo; 2) trimmare la stringa (togliere gli spazi ai lati con trim()); 3) verificare se la stringa risultante è vuota o no; 4) se non è vuota, fare la conversione nel try-catch e se c'è l'eccezione puoi ad esempio mostrare una box a video. Se la stringa invece è vuota o hai un errore, potresti cancellare il risultato. Tutto questo però dovresti farlo solo se il 'source' è il pulsante che attiva la conversione. (B) Hai messo: else if(idx==2); Il punto e virgola non ci va, così hai fatto una istruzione "vuota" come corpo del if.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Jan 2003
Città: Fidenza (PR)
Messaggi: 367
|
grazie per i consigli anche se alcune cose mi risultano ostiche da afferrare.
purtroppo però, la combobox continua a non funzionare; se invece elimino le ultime righe di codice relative al pulsante ecco che per magia tutto funziona. why?! perdona la mia ignoranza... |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Jan 2003
Città: Fidenza (PR)
Messaggi: 367
|
ok, ci sono.
tutto a posto...per ora. grazie ancora. |
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: Jan 2003
Città: Fidenza (PR)
Messaggi: 367
|
Quote:
|
|
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Codice:
String strValue = valuet.getText().trim();
if (strValue.length() != 0)
{
// ... fai la conversione ...
}
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Jan 2003
Città: Fidenza (PR)
Messaggi: 367
|
Quote:
|
|
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Jan 2003
Città: Fidenza (PR)
Messaggi: 367
|
rieccomi...
domanda: le istruzioni per la conversione dei numeri devo metterle "dentro" il try, prima del try o dopo il catch? non riesco a venirne fuori, mi sono arenato e non capisco dove sbaglio! |
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Jan 2003
Città: Fidenza (PR)
Messaggi: 367
|
uP!
|
|
|
|
|
|
#20 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:40.



















