è possibile creare un componente che al suo interno abbia dei metodi per modificare un componente esterno ?
è possibile creare un componente che al suo interno abbia dei metodi per modificare un componente esterno ?
Detto così non è molto chiaro .... quale è l'obiettivo esatto?Originariamente inviato da Pierock
è possibile creare un componente che al suo interno abbia dei metodi per modificare un componente esterno ?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
chiedo scusa ;p
quello che vorrei fare è posizionare 2 componenti su un pannello;
di questi, uno è un mio componente..l'altro un jcombobox
l'idea è quella di poter "associare" la jcombo al mio componente, di modo che quest'ultimo possa modificare la combo a propria esigenza ...
l'obiettivo dunque è far in modo che l'action listener per far questo non sia contenuto in una classe esterna alle 2 componenti... ma un qella creata da me... in modo da poterla riusare più volta nel progetto.
non so se sn stato chiaro... (so di non esserlo spesso)
cmq credo di aver già risolto...
... ditemi che ne pensatecodice:public class miocomponente extends JComponent{ private JComboBox cb; ... .... public void setDiscepolo(JComboBox jcb){ this.cb = jcb; } public void setVisibleDiscepolo(boolean b){ this.cb.setVisible(b); } }
Fin qui, tecnicamente, nulla di strano, miocomponente è una classe (estensione di JComponent, quindi è un componente Swing) che ha un riferimento ad un JComboBox ricevuto dall'esterno.Originariamente inviato da Pierock
codice:public class miocomponente extends JComponent{ private JComboBox cb; ... .... public void setDiscepolo(JComboBox jcb){ this.cb = jcb; } public void setVisibleDiscepolo(boolean b){ this.cb.setVisible(b); } }
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
ho un piccolo problemino però.....
credo si comporti un po' in maniera anomala...
all'interno della classe miocomponente vi è una classe listener... dunque l'istruzione di addactionlistener associata ad una JComboBox... (xJcombo)
mandato in esecuzione a monitor mi compare direttamente la scritta "azione" senza ch'io abbia ancora azionato la combo, seguita da:codice:xJcombo.addActionListener(new ComboBoxListener()); ... ... private class ComboBoxListener implements ActionListener{ public void actionPerformed(ActionEvent evt) { System.out.println("azine"); // istruzioni che modificano la componente "discendente" }
Serialization error: java.lang.NullPointerException (solo questo rigo)
e azionando la combobox che dovrebbe attivare il listener nn succede nulla.....
che succede?
eppure il codice su un'altra classe funziona perfettamente
Hai inizializzato la JComboBox?Originariamente inviato da Pierock
ho un piccolo problemino però.....
credo si comporti un po' in maniera anomala...
all'interno della classe miocomponente vi è una classe listener... dunque l'istruzione di addactionlistener associata ad una JComboBox... (xJcombo)
mandato in esecuzione a monitor mi compare direttamente la scritta "azione" senza ch'io abbia ancora azionato la combo, seguita da:codice:xJcombo.addActionListener(new ComboBoxListener()); ... ... private class ComboBoxListener implements ActionListener{ public void actionPerformed(ActionEvent evt) { System.out.println("azine"); // istruzioni che modificano la componente "discendente" }
Serialization error: java.lang.NullPointerException (solo questo rigo)
e azionando la combobox che dovrebbe attivare il listener nn succede nulla.....
che succede?
eppure il codice su un'altra classe funziona perfettamente
Ho provato il codice e non mi dà né errori né eccezioni...
si si... ti ringrazio... nel frattempo ho risolto, ma non ho avuto modo di segnalarvelo...
non so cosa sia successo...
ho "banalmente" ho provare a creare una nuova classe, e rimettere tutto il codice....
nn mi ha dato alcun errore... mah!
grazie mille cmq per la cortesia!!