Nella mia applicazione c'è una JTextarea utilizzata come editor.
Il problema è nelle actions.
- Prima dichiaro un array di action aggiuntive
- poi inserisco le action in una Hashtable 'commands' che serve per richiamare le action tramite nome all'interno del programmacodice:private Action[] defaultActions = { new NewAction(), new OpenAction(), new SaveAction() ... ecc }
- il metodo getActions qui sopra è questo:codice:Action[] actions = getActions(); for (int i = 0; i < actions.length; i++) { Action a = actions[i]; commands.put(a.getValue(Action.NAME).toString(), a); }
Io apro una JDialog (implementata in un altro file) che ha dentro dei campi di testo JTextField. Il problema che si presenta è che in tutti questi campi non funziona più il copia e incolla tramite tastiera (CTRL+C, ecc).codice:protected Action[] getActions() { return TextAction.augmentList(editor.getActions(), defaultActions); }
Commentando la return del metodo getActions tornano funzionanti quindi immagino che sia dovuto a quella riga di codice.
In ogni modo non riesco a spiegarmi perchè quel metodo statico di TextAction vada ad influire sugli altri controlli del programma, se non sbaglio il suo compito non è solo quello di aumentare la lista di action passati come primo argomento con quelle passate come secondo argomento? Perchè vanno a modificare le action degli altri controlli del programma?

Rispondi quotando