org.eclipse.swt.widgets.Button

Tagamoga

Mitglied
Hallo allerseits,

ich befürchte, ich sehe den Wald vor lauter Bäumen nicht mehr. Ich hoffe, Ihr könnte mir da weiterhelfen. Ich soll mit Eclipse Ganymede, Java 6.0, RCP einen eigenen Button schreiben. Da ich nicht alles nachprogrammieren wollte, wollte ich eine Klasse schreiben, die org.eclipse.swt.widgets.Button ableitet.

Der erste Versuch sah so aus:
Code:
public class GCRegionButton extends Button {

	public GCRegionButton(Composite parent, int style) {
		super(parent, style);
		// TODO Auto-generated constructor stub
	}
}
Tut noch nix - Klar...
Aber wenn ich versuche diesen Button nun aufzurufen, wie die org.eclipse.swt.widgets.Button, bekomme ich eine Fehlermeldung.

Aufruf:
Code:
GCRegionButton myButton = new GCRegionButton(parent,SWT.PUSH);

Fehlermeldung:
"Subclassing not allowed"

Nu meine Frage, kann man org.eclipse.swt.widgets.Button wirklich nicht ableiten! Muss man die Buttons wirklich komplett nachprogrammieren, oder was mache ich da falsch?

Grüße Taggi
 
@vfl_freak: Danke für den Hinweis. Aber ich hatte gedacht, das ich innerhalb von einer SWT implementation bin, wenn ich nur SWT benutzte. Mein Englisch ist nicht so pralle... :-(

*procurve zu Boden knuddel* DANKE SCHÖN!

Danke für Eure Mühe,

Liebe Grüße, Taggi
 
@vfl_freak: Danke für den Hinweis. Aber ich hatte gedacht, das ich innerhalb von einer SWT implementation bin, wenn ich nur SWT benutzte. Mein Englisch ist nicht so pralle... :-(

Moin,

kein Problem - ich deute das so, dass nur die SWT-Klassen selbst ableiten dürfen! Warum und wieso .... keine Ahnung :suspekt:
Aber da ich Swing in vielen Fällen eleganter finde, nutze ich nur dies ;)

Na, Hauptsache der Link von procurve hat Dein Problem gelöst - und viel Spaß auf dem Boden :-)

tschüss
Klaus
 
@vfl_freak:
Aber da ich Swing in vielen Fällen eleganter finde, nutze ich nur dies

Tja... nicht immer hat man die freie Wahl... Manchmal wird es einfach von oben bestimmt...

@Spaß auf dem Boden: Klar, unter dem Boden wäre es ungemütlich... :-)
 
Hilfääääää! ;)

@vfl-freak: Die Konvention, dass man von den meisten SWT-Klassen nicht ableiten kann, liegt daran, dass sich die API und die Funktionalität während der Weiterentwicklung von SWT ändern kann und das auch schon mehrfach getan hat. Damit ist die Weiterentwicklung des SWT flexibler, als z.B. Swing, das über Jahr ehinweg Methoden als deprecated einstuft und diese Altlasten lange mitshcleifen muss.
 
Hi procurve,

ah ja - Danke für den Hinweis, das wusste ich nicht, da ich das SWT wie gesagt nicht nutze!
Ok, für die Weiterentwicklung mag das sicher besser sein - ob für den Nutzer (so wie hier letztlich) mag dahingestellt sein .... ;-]

Ich bin selbst gerade mit einer Java-Applikation von Java 1.4 auf 1.5 hochgegangen und habe dann ca. 250 deprecated-Stellen angepasst. So schlimm war dass dann nicht ;)

Aber auch mir gilt natürlich das, was Tagamoga schon von den "höheren Zwängen" schrieb ..... :-)

Gruß
Klaus
 
Zurück