|
|
|
![]() |
|
Strumenti |
![]() |
#61 |
Member
Iscritto dal: Dec 2006
Messaggi: 201
|
Questa parte di codice in rosso che cosa fa?
public GrigliaSimboli(Collection<Decibel> valoriRighe, Collection<Frequenza> valoriColonne) { simboli = new Simbolo[numeroDiRighe * numeroDiColonne]; numeroDiRighe = valoriRighe.size(); numeroDiColonne = valoriColonne.size(); int indice = 0; for(Decibel d : valoriRighe) { indiciRighe.put(d, indice); indice++; } Thanks |
![]() |
![]() |
![]() |
#62 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
E' un ciclo for-each, un "addolcimento sintattico" per la forma reale:
Codice:
Iterator<Decibel> iteratore = valoriRighe.iterator(); while(iteratore.hasNext()) { Decibel d = iteratore.next(); fai qualcosa con d } Codice:
for(Decibel d : valoriRighe) { fai qualcosa con d }
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#63 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
dimenticavo il resto. La linea
indiciRighe.put(d, indice) associa nella mappa indiciRighe il Decibel d al valore Integer indice (indice è un int ma l'autoboxing lo converte in Integer). La linea successiva incrementa il valore di indice. Lo scopo di quelle righe è costruire una mappa che associa ogni Decibel ad una riga dove la riga è conservata come "riga di indice tot".
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#64 |
Member
Iscritto dal: Dec 2006
Messaggi: 201
|
Perfetto !
Prima di provare il programma volevo capire la fase di progettazione e di stesura di tutto il codice ma oggi volevo dare una sbirciatina al risultato; il problema è che nei file java che mi hai mandato ci sono solo caratteri incomprensibili. Che può essere ? Un altra cosa: L'audiogramma non è una matrice bidimensionale ma tridimensionale:[decibel][frequenza][simboli] Questo perché in un punto della griglia posso avere due simboli sovrapposti ? |
![]() |
![]() |
![]() |
#65 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Io uso la codifica UTF-16 per i sorgenti Java. Forse è per quello.
Yesss, per tridimensionale intendevo esattamente quello.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#66 |
Member
Iscritto dal: Dec 2006
Messaggi: 201
|
Che editor mi consigli di usare; io sto usando EDITEUR ma non è un gran che
![]() |
![]() |
![]() |
![]() |
#67 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Puoi tranquillamente usare blocco note, basta che specifichi Unicode come codifica nella finestra di selezione del file da aprire.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#68 |
Member
Iscritto dal: Dec 2006
Messaggi: 201
|
"
Creo un pannello poi gli passo un audiogramma e il pannello adatta la sua interfaccia alla lista di frequenze dell'audiogramma. Cioè il pannello, in base ad un audiogramma, crea da solo il numero necessario di caselle combinate e collega da solo le azioni prodotte da queste caselle alle mutazioni corrispondenti nell'audiogramma. Come dovrebbe essere fatto un pannello del genere? 1. quando imposto l'audiogramma attraverso il metodo setAudiogramma di questo ipotetico pannello 2. il pannello prende la lista di valori in decibel che formano le righe dell'audiogramma 3. il pannello prende la lista di frequenze dall'audiogramma 4. per ogni frequenza, il pannello genera 2 caselle combinate 5. i valori di queste caselle combinate sono (vuoto)+(i vari decibel) 6. il pannello aggiunge alle caselle combinate un ascoltatore di eventi (ActionEvent per una JComboBox) attraverso il quale io determino quali sono i valori decibel, frequenza e simbolo da usare per impostare un simbolo nell'audiogramma. " Però non è detto anzi è sicuro che non devo inserire valori per tutte le frequenze che ci sono nella griglia. Magari faccio misurazioni per 1000 Hz e poi per 2000 Hz. Per 1500 Hz dovrò selezionare null nel pannello inserimento dati ? |
![]() |
![]() |
![]() |
#69 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Sebbene io pensassi che l'utente avrebbe dovuto inserire tutti i valori per tutte le frequenze, l'esistenza di un valore "non rilevato" (che è poi null tra i valori Decibel accettati dall'audiogramma) consente di non immettere i rilevamenti per ogni frequenza.
Quando l'interfaccia si apre, tutte le caselle combinate hanno valore "vuoto". L'utente può immettere (selezionare) solo i valori che ha rilevato per le frequenze che gli interessano. Prova ad eseguire il programma. Vai nella cartella "src" dello zip con il prompt dei comandi, digita: java it.audiobla.Main e premi invio.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#70 |
Member
Iscritto dal: Dec 2006
Messaggi: 201
|
Ok adesso provo.
In che senso prendo il modello con questa istruzione ? DecibelComboBoxModel decibelModel = (DecibelComboBoxModel) box.getModel(); |
![]() |
![]() |
![]() |
#71 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Secondo l'architettura MVC, un componente è realizzabile attraverso quattro tipi di oggetti:
modello il modello è un oggetto che contiene le informazioni sullo stato dell'oggetto in un certo istante. Il modello possiede un elenco di oggetti che possono ricevere notifiche. Quando le informazioni contenute nel modello cambiano, il modello invia un messaggio ad ogni oggetto che può ricevere notifiche presente nel suo elenco. oggetti che possono ricevere notifiche (notifiable, viva l'inglese ![]() e' una categoria di oggetti che ha la capacità di ricevere un messaggio di stato da un modello. vista la vista è un oggetto che, dato un modello, lo rappresenta, di solito graficamente. La vista è un oggetto che può ricevere notifiche dal modello. controllo il controllo è un oggetto che traduce l'interazione dell'utente con la vista in mutazioni di stato del modello. I componenti Swing adottano una variante dell'architettura MVC detta SMA. Questa variante ha comunque il concetto di modello e di vista. Cioè per ogni componente Swing esiste un oggetto che ne contiene lo stato ed un oggetto che rappresenta graficamente questo stato. Il modello del componente JComboBox è ComboBoxModel. C'è anche una vista+controllo, ComboBoxUI, ma a noi interessa il modello. Per accedere al modello di una JComboBox si usa il metodo getModel di questa JComboBox. Che interesse abbiamo ad accedere al modello di una JComboBox? Abbiamo interesse ad accedere a questo modello perchè è nel modello che si trovano le informazioni sullo stato, attuale o possibile, di un componente. Vale a dire che è attraverso il modello, attraverso l'oggetto restituito dal comboBox.getModel(), che possiamo sapere quale sia il valore attualmente selezionato e quali siano gli altri possibili valori. Sempre attraverso il modello possiamo cambiare questi valori ma se non ricordo male è solo per leggere che là accedo al modello.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#72 |
Member
Iscritto dal: Dec 2006
Messaggi: 201
|
Non riesco a compilare cavolicchio
Compilando il main mi da cento errori: illegal character : \0 ![]() Se apro il file con Wordpad sembra in ordine ![]() |
![]() |
![]() |
![]() |
#73 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Devi specificare la codifica dei sorgenti. Apri la console (prompt dei comandi), vai nella cartella src, digita
javac -d . -encoding utf-16 *.java e premi invio.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#74 |
Member
Iscritto dal: Dec 2006
Messaggi: 201
|
Da errore comunque con :
javac -d . -encoding utf-16 *.java javac Main.java ![]() ![]() |
![]() |
![]() |
![]() |
#76 |
Member
Iscritto dal: Dec 2006
Messaggi: 201
|
Sempre lo stesso comuqnue se apro i file con il blocnote appaiono ancora quegli strani quadrettini mase cerco di incollarlo qui sul forum scompaiono e il codice è perfetto
|
![]() |
![]() |
![]() |
#77 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Sei sicuro di aver scritto (solo):
javac -d . -encoding utf-16 *.java e dato invio?
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#78 |
Member
Iscritto dal: Dec 2006
Messaggi: 201
|
Si e non mi da nessun errore
![]() |
![]() |
![]() |
![]() |
#80 |
Member
Iscritto dal: Dec 2006
Messaggi: 201
|
Mi da un eccezione
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: input == null ! |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:26.