[JAVA][RISOLTO] Operazioni su caselle di testo

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
Delcaran Lëdeloth
Linux 1.x
Linux 1.x
Messaggi: 132
Iscritto il: mar 27 mag 2008, 8:24
Nome Cognome: Matteo Paoluzzi
Slackware: 14.2 - 64bit
Kernel: 4.4.111 generic
Desktop: i3
Località: ud.fvg.it
Contatta:

[JAVA][RISOLTO] Operazioni su caselle di testo

Messaggio da Delcaran Lëdeloth »

Salve a tutti! Sto progettando una GUI in Java utilizzando NetBeans 6.7, e ho notato con piacere che mi semplifica notevolmente la gestione della grafica e di alcune proprietà degli elementi. Quando riesco a risolvere questo piccolo problema sono molto più rilassato!
Allora, la mia GUI è composta principalmente da caselle di testo JTextField, alcune editabili e altre no. Quelle non editabili sono collegate ad una o più caselle editabili. Quando sono collegate ad una sola editabile ho bindato la loro proprietà text alla proprietà text della casella a cui sono collegate, e ottengo come desiderato che la casella collegata contiene lo stesso valore della casella a cui è collegata. Ora il mio dubbio...quando devo collegare una casella a più caselle??? Per esempio, mettiamo che la casella A sia uguale a B+C, oppure a B/2 (sono queste operazioni basilari che mi interessano) e che tutte le caselle contengano solo valori interi (come infatti è) positivi o negativi, come faccio a fare in modo che A assuma il valore corretto?
Altro problema. Dovrei mettere una checkbox collegata ad una casella di testo: quando la checkbox è selezionata, il valore della casella di testo viene aumentato di +5, altrimenti no. Il valore della casella di testo, oltre che alla checkbox, dipende anche da un'altra casella di testo.
Ammetto che tutto quello che ho fatto l'ho fatto utilizzando NetBeans, perché la mia conoscenza di Swing è pressoché nulla... grazie a tutti!!!
Ultima modifica di Delcaran Lëdeloth il mar 14 lug 2009, 11:08, modificato 1 volta in totale.
Find me at Keybase
Slackware user since 1997.

Avatar utente
Mercyful
Linux 1.x
Linux 1.x
Messaggi: 196
Iscritto il: ven 25 lug 2008, 18:20
Nome Cognome: Ilario Pittau
Slackware: 13.0
Kernel: 2.6.29.6-generic
Desktop: xfce 4.6
Località: Torino

Re: [JAVA] Operazioni su caselle di testo

Messaggio da Mercyful »

Ciao,
Per renderlo efficace potresti utilizzare i Listener e gli eventi per gestire le modifiche delle caselle B e C e quando queste due hanno dei valori per te coerenti puoi riempire il campo A.text..
Potrebbe essere una soluzione?

Avatar utente
Delcaran Lëdeloth
Linux 1.x
Linux 1.x
Messaggi: 132
Iscritto il: mar 27 mag 2008, 8:24
Nome Cognome: Matteo Paoluzzi
Slackware: 14.2 - 64bit
Kernel: 4.4.111 generic
Desktop: i3
Località: ud.fvg.it
Contatta:

Re: [JAVA] Operazioni su caselle di testo

Messaggio da Delcaran Lëdeloth »

Si, pensavo di fare proprio una cosa del genere...una piccola funzione che cattura i valori di B e C.. Il mio dubbio era se questa funzione deve essere messa dentro B e C o dentro A o essere globale... Non riesco a capire se un evento che si verifica su una casella può richiamare un funzione di un'altra casella... Oppure se una casella può "catturare" un evento su un'altra casella...
Find me at Keybase
Slackware user since 1997.

Avatar utente
Mercyful
Linux 1.x
Linux 1.x
Messaggi: 196
Iscritto il: ven 25 lug 2008, 18:20
Nome Cognome: Ilario Pittau
Slackware: 13.0
Kernel: 2.6.29.6-generic
Desktop: xfce 4.6
Località: Torino

Re: [JAVA] Operazioni su caselle di testo

Messaggio da Mercyful »

Nel codice in cui istanzi le JTextField, nella classe che crea il form e il resto, li dentro devi implementare la logica per il funzionamento degli event sul onModify (penso si chiamino cosi) oppure onTextChange sono funzioni come onButtonClick e puoi accedere a tutti gli oggetti definiti nella stessa classe. quindi anche ad A , e C e gli altri..
Se programmi solamente usando la grafica non lo vedi.. guarda bene anche il codice!

Avatar utente
ulisse89
Packager
Packager
Messaggi: 643
Iscritto il: sab 17 gen 2009, 12:53
Nome Cognome: Riccardo
Slackware: 13.0
Kernel: 2.6.29.6
Desktop: Xfce
Località: Bologna

Re: [JAVA] Operazioni su caselle di testo

Messaggio da ulisse89 »

Mercyful ha scritto:Nel codice in cui istanzi le JTextField, nella classe che crea il form e il resto, li dentro devi implementare la logica per il funzionamento degli event sul onModify (penso si chiamino cosi) oppure onTextChange sono funzioni come onButtonClick e puoi accedere a tutti gli oggetti definiti nella stessa classe. quindi anche ad A , e C e gli altri..
Se programmi solamente usando la grafica non lo vedi.. guarda bene anche il codice!
Esatto. La classe che implementa la gui, deve implementare ActionListener. Ogni componente che aggiungi alla finestra genera eventi per un tot di azioni che l'utente farà su di lui. Chi gestisce questi eventi è la classe che implementa ActionListener. In questa metterai un metodo actionPerformed(Event e) che prende in ingresso un evento generato da un componente e farà quello che vuoi tu. ActionListener può essere implementato anche da qualcun altra classe, ma ti conviene quella della GUI perchè come dice Mercyful hai accesso a tutti i componenti su cui agisci dopo un evento.

Avatar utente
Delcaran Lëdeloth
Linux 1.x
Linux 1.x
Messaggi: 132
Iscritto il: mar 27 mag 2008, 8:24
Nome Cognome: Matteo Paoluzzi
Slackware: 14.2 - 64bit
Kernel: 4.4.111 generic
Desktop: i3
Località: ud.fvg.it
Contatta:

Re: [JAVA] Operazioni su caselle di testo

Messaggio da Delcaran Lëdeloth »

Ho rispolverato il manuale e ho eclissato tutti i miei dubbi in proposito :) da come l'avevano proposto in aula la faccenda sembrava decisamente più incasinata ;p
Ho compreso tutto e ho visto che è piuttosto semplice come storia...ora come ora mi sento decisamente stupido ad aver fatto una simile domanda :oops:
Da programmatore C con anni di esperienza dovevo capirlo subito che con il codice si fa prima :roll:
Chiedo venia e mi metto a lavoro!
Find me at Keybase
Slackware user since 1997.

Rispondi