View Single Post
Old 20-04-2007, 19:05   #2
lovaz
Senior Member
 
L'Avatar di lovaz
 
Iscritto dal: Jul 2002
Messaggi: 4334
Ho risolto così:

Costruttore privato che prende l'icona + membri statici:
Codice:
	private static final OpenFile bigAction = new OpenFile( big ),
		smallAction = new OpenFile( small );
big e small sono due icone, 24x24 e 16x16.
L'azione viene ricavata tramite:
Codice:
	public static OpenFile getAction( boolean bigIcon )
	{
		if( bigIcon )
			return bigAction;

		return smallAction;
	}
e (dis)abilitata/e tramite:
Codice:
	public static void enable()
	{
		bigAction.setEnabled( true );
		smallAction.setEnabled( true );
	}

	public static void disable()
	{
		bigAction.setEnabled( false );
		smallAction.setEnabled( false );
	}
quindi si aggiunge a un menu e a una toolbar rispettivamente con:
Codice:
	file.add( OpenFile.getAction(false) );
	tbar.add( OpenFile.getAction(true) );
Fin qui tutto bene, ma devo fare un bel po' di azioni così.
Ho già tentato di creare una superclasse per riusare un po' di codice,
senza successo - il problema sono i membri statici.

Qualcuno ha un'idea?

Grazie
lovaz è offline   Rispondi citando il messaggio o parte di esso