|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Apr 2008
Città: Lissone, Monza Brianza
Messaggi: 3946
|
[JAVA] Da Object richiamare la funzione JTextField.getText()
Salve a tutti pongo questa domanda:
ho un Object che contienre una textfiel: JtextField a = new JtextField(); Object o = a; dall elemento "o" è possibile, senza rimetterlo all interno di un altro Jtextfield, richiamare solamente la funzione getText? sembra una cosa bizarra ma volevo sapere se fosse possibile... Praticamente da un oggetto vorrei sapere quale sia il tipo e richiamare la sua funzione. ho letto qualcosa sulla reflections ma non ci ho capito un tubo... ho almeno ho più idee confuse al momento.... Se qualcuno potrebbe aiutarmi in questo mio problema gli sarei riconoscente a vita ![]()
__________________
Corsair 4000D AIRFLOW WHITE - Corsair HX1000 - ASUS TUF GAMING B850-PLUS WIFI - AMD Ryzen 7 7800X3D - ARCTIC MX-6 - Thermalright Frozen Infinity 360 WHITE - ORICO Raceline Neon DDR5 32GB 6000MHz CL30 - fanxiang S880 1TB NVMe 1.4 Gen4x4 - WD Blue WD10EZEX 1TB - Jungle Leopard Splicing ARGB V2RS - Sapphire PURE AMD RX 9070 XT GAMING OC 16GB - MHDUYEG Supporto VGA 74-120mm - Razer BlackWidow Elite - Logitech MX Master 3 Wireless - ASUS TUF VG34VQL3A |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2008
Città: Lissone, Monza Brianza
Messaggi: 3946
|
Up
Sent from my GT-N7100 using Tapatalk 4 Beta
__________________
Corsair 4000D AIRFLOW WHITE - Corsair HX1000 - ASUS TUF GAMING B850-PLUS WIFI - AMD Ryzen 7 7800X3D - ARCTIC MX-6 - Thermalright Frozen Infinity 360 WHITE - ORICO Raceline Neon DDR5 32GB 6000MHz CL30 - fanxiang S880 1TB NVMe 1.4 Gen4x4 - WD Blue WD10EZEX 1TB - Jungle Leopard Splicing ARGB V2RS - Sapphire PURE AMD RX 9070 XT GAMING OC 16GB - MHDUYEG Supporto VGA 74-120mm - Razer BlackWidow Elite - Logitech MX Master 3 Wireless - ASUS TUF VG34VQL3A |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
Castarlo e richiamare il metodo che ti serve senza metterlo in una variabile vale?
Codice PHP:
![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2008
Città: Lissone, Monza Brianza
Messaggi: 3946
|
l idea potrebbe anche funzionare pero questa operazione dovrebbe farla un file che non conosce le swing... io pensavo che nel caso esistesse un metodo che gli dicevo il nome della funzione , java lo ricavasse da solo per farla funzionare....
__________________
Corsair 4000D AIRFLOW WHITE - Corsair HX1000 - ASUS TUF GAMING B850-PLUS WIFI - AMD Ryzen 7 7800X3D - ARCTIC MX-6 - Thermalright Frozen Infinity 360 WHITE - ORICO Raceline Neon DDR5 32GB 6000MHz CL30 - fanxiang S880 1TB NVMe 1.4 Gen4x4 - WD Blue WD10EZEX 1TB - Jungle Leopard Splicing ARGB V2RS - Sapphire PURE AMD RX 9070 XT GAMING OC 16GB - MHDUYEG Supporto VGA 74-120mm - Razer BlackWidow Elite - Logitech MX Master 3 Wireless - ASUS TUF VG34VQL3A |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Mar 2007
Città: Milano Beach
Messaggi: 1696
|
Devi usare la reflection:
http://stackoverflow.com/questions/1...me-as-a-string La prima risposta contiene praticamente lo snippet di codice che serve a te. Permettimi di dire, ad ogni modo, che in questo caso l'uso della reflection mi sembra una 'pezza' usata per risolvere un problema di design. Per quale motivo la tua istanza di JTextField è castata ad object? Magari riusciamo a risolvere il problema in maniera più elegante.
__________________
~ Cthulhu: MacBookPro 13.3" ~ Azathoth: D510MO |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Apr 2008
Città: Lissone, Monza Brianza
Messaggi: 3946
|
Praticamente ho una finestra, essa contiene un bottonw che dovrebbe aprire una specie di form contenente due jtextfield. Una volta riempiti i campi questi devono tornare alla finestra precedente e restituire il contenuto. Per fare quel popup uso joptionpane e gli elementi li recupero da una lista oggetti, che nel mio caso contene le texrfield. Insomma dalla schermata principale devo entrare in questa e lei deve restituire alla schermata principale le informazioni ricevute ovviamente ho un design pattern che mi avvia queste schermate. La schermata di popup non deve conoscere le swing all infuori del joptionpane. Spero di essere stato chiaro
__________________
Corsair 4000D AIRFLOW WHITE - Corsair HX1000 - ASUS TUF GAMING B850-PLUS WIFI - AMD Ryzen 7 7800X3D - ARCTIC MX-6 - Thermalright Frozen Infinity 360 WHITE - ORICO Raceline Neon DDR5 32GB 6000MHz CL30 - fanxiang S880 1TB NVMe 1.4 Gen4x4 - WD Blue WD10EZEX 1TB - Jungle Leopard Splicing ARGB V2RS - Sapphire PURE AMD RX 9070 XT GAMING OC 16GB - MHDUYEG Supporto VGA 74-120mm - Razer BlackWidow Elite - Logitech MX Master 3 Wireless - ASUS TUF VG34VQL3A |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: May 2008
Città: Seattle (WA)
Messaggi: 306
|
Usare la reflection è assai oneroso in questo caso e sopratutto è assolutamente inutile... il cast è la soluzione più "elegante"... E attenzione non è una questione di "mettere dentro":
JtextField a = new JtextField(); Object o = a; o e a sono lo stesso oggetto visto in due maniere diverse... se vieni dal c diciamo che sono un puntatore allo stesso oggetto... sono che nel caso a tratto l'oggetto in questione come JTextField mentre in o lo tratti come Object... lo puoi fare perchè object è implicitamente superclasse di tutte le classi... infatti in a troverai tutti ii metodi di JTextField più tutti quelli di Object... Son differenze importanti da capire! ![]()
__________________
"Considerate la vostra semenza fatti non foste a viver come bruti ma per seguir virtute e canoscenza" |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Apr 2008
Città: Lissone, Monza Brianza
Messaggi: 3946
|
E lo so ma di certo sono obbligato... questa finestra che esce grazie alla joptionpane non deve conoscere assolutamente il pacchetto swing ma solo joptionpane... ecco perche dicevo, se uso questo vettore, potrei richiamare i costruttori delle jtextfield da cosi utilizzare le sue funzionalità... ah ti ringrazio a priori per l aiuto che mi stai dando
![]()
__________________
Corsair 4000D AIRFLOW WHITE - Corsair HX1000 - ASUS TUF GAMING B850-PLUS WIFI - AMD Ryzen 7 7800X3D - ARCTIC MX-6 - Thermalright Frozen Infinity 360 WHITE - ORICO Raceline Neon DDR5 32GB 6000MHz CL30 - fanxiang S880 1TB NVMe 1.4 Gen4x4 - WD Blue WD10EZEX 1TB - Jungle Leopard Splicing ARGB V2RS - Sapphire PURE AMD RX 9070 XT GAMING OC 16GB - MHDUYEG Supporto VGA 74-120mm - Razer BlackWidow Elite - Logitech MX Master 3 Wireless - ASUS TUF VG34VQL3A |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:09.