Frage

Ich weiß, dass ich eine für jede Form angeben kann, oder für die Wurzelform und dann wird es auf alle Kinder Formen Kaskade durch, aber ich möchte einen Weg haben, das Überschreiben der Standard-Java-Kaffeetasse für alle Formen auch die, die ich vergessen könnte.

Irgendwelche Vorschläge?

War es hilfreich?

Lösung

Sie können die Stammform machen (womit ich nehme an, Sie meinen JFrame) Ihre eigene Unterklasse von JFrame sein und stellen Standardfunktionen in seinem Konstruktor, wie zum Beispiel:

this.setIconImage(STANDARD_ICON);

Sie können auch hier andere Standard-Sachen bündeln, wie der Rahmen des Fensters Metriken als Benutzereinstellung Speichern, Verwalten Spritzscheiben, etc.

Jede neue Frames durch diese hervorgebracht würde auch Instanzen dieser JFrame Unterklasse sein. Das einzige, was Sie sich erinnern müssen, ist Ihre Unterklasse zu instanziiert, statt JFrame. Ich glaube nicht, dass es irgendein Ersatz für die Erinnerung, dies zu tun, aber zumindest jetzt ist es eine Frage des eine Unterklasse statt einen setIconImage Anruf erinnern (unter möglicherweise anderen Funktionen).

Andere Tipps

Es gibt eine andere Art und Weise, aber es ist eher ein „Hack“ dann eine echte fix ....

Wenn Sie die JRE mit Ihrer Anwendung verteilen, könnten Sie die Kaffeetasse Symbol-Ressource in dem exe / dll / rt.jar Java ersetzen wo immer das auch mit Ihrem eigenen Symbol ist. Es ist vielleicht nicht sehr echt sein, aber es ist eine Möglichkeit, ...

Auch, wenn Sie ein „Haupt“ Fenster haben, und stellen Sie das entsprechende Symbol richtig, solange man das Hauptfenster als „Eltern“ für alle Dialog-Klassen verwenden, werden sie auf das Symbol erben. Alle neuen Frames müssen das Icon-Set auf sie haben, aber.

als Paul / Andreas sagte Subklassen JFrame wird Ihre beste Wette.

Erweitere JDialog Klasse (zum Beispiel nennt es MyDialog) und das Symbol im Konstruktor festgelegt. Dann sollten alle Dialoge erweitern Implementierung (MyDialog).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top