alexievic
09-10-2007, 18:00
Nella mia applicazione c'è una JTextarea utilizzata come editor.
Il problema è nelle actions.
- Prima dichiaro un array di action aggiuntive
private Action[] defaultActions = { new NewAction(), new OpenAction(),
new SaveAction() ... ecc }
- poi inserisco le action in una Hashtable 'commands' che serve per richiamare le action tramite nome all'interno del programma
Action[] actions = getActions();
for (int i = 0; i < actions.length; i++)
{
Action a = actions[i];
commands.put(a.getValue(Action.NAME).toString(), a);
}
- il metodo getActions qui sopra è questo:
protected Action[] getActions()
{
return TextAction.augmentList(editor.getActions(), defaultActions);
}
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).
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?
Il problema è nelle actions.
- Prima dichiaro un array di action aggiuntive
private Action[] defaultActions = { new NewAction(), new OpenAction(),
new SaveAction() ... ecc }
- poi inserisco le action in una Hashtable 'commands' che serve per richiamare le action tramite nome all'interno del programma
Action[] actions = getActions();
for (int i = 0; i < actions.length; i++)
{
Action a = actions[i];
commands.put(a.getValue(Action.NAME).toString(), a);
}
- il metodo getActions qui sopra è questo:
protected Action[] getActions()
{
return TextAction.augmentList(editor.getActions(), defaultActions);
}
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).
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?