Ändern der org.eclipse.swt.widgets Hintergrundfarbe in Windows
Augenblick bin ich versucht zu ändern, die hintergrund Farbe von einem org.eclipse.swt.widgets.Schaltfläche mit dem folgenden code:
Taste sceneButton = new Button(border /SWT.TOGGLE | SWT.FLAT); sceneButton.setBackground(Color.ROT);
Dies funktioniert gut, wenn ich das Programm in Solaris, tut aber nichts wenn ich den code ausführen " in Windows. Ist das möglich? Wenn nicht, gibt es irgendeine Art von Abhilfe, die mir erlauben, um die Hintergrundfarbe zu ändern (auch wenn die "Farbe" ist ein Bild), während noch die Anzeige von text in den button? Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht. In der Dokumentation der Methode
Kontrolle.setBackground()
, es wird erwähnt:For example, on Windows the background of a Button cannot be changed.
Auf windows-Betriebssystemen
button.setBackGround
funktioniert nicht direkt. Ein kleines code-snippet helfen können. Überschreiben der paint-Ereignis der Schaltfläche wie unten dargestellt:------obj ist der name der Schaltfläche unten snippet------------
Den hintergrund einer Schaltfläche in Windows festgelegt ist, die von außerhalb des SWT.
Rechten Maustaste auf Ihrem desktop, klicken Sie auf Eigenschaften.
Gehen, um das "Aussehen" Registerkarte.
Klicken Sie Auf "Erweitert".
Glaube ich, dass "3D-Objekte" bestimmt, die Schaltfläche hintergrund. Dieser wird ermittelt, indem jedem Benutzer ist das Thema.
Eine große Sache über SWT wird es verwendet das zugrunde liegende system widgets und Themen. Eine frustrierende Sache über SWT wird es verwendet das zugrunde liegende system widgets und Themen.
Können Sie simulieren eine Schaltfläche mit CLabel. Fügen Sie einen mouselistener zu ändern Sie den hintergrund auf mouse-down und mouse-up und mouse-up-event dispatch eine Auswahl listener event, so dass es verhält sich wie eine Schaltfläche. Zum Beispiel:
Dieser kurz-ändert den hintergrund der Schaltfläche, während Sie drücken Sie die Maus, um die Wirkung der Klick auf eine Schaltfläche. CLabel kann auch erweitert werden, im Gegensatz zu anderen SWT-widgets, so können Sie erstellen eine Unterklasse, wenn Sie müssen, tun Sie dies oft.
Nein, Sie können Sie ändern Sie den Hintergrund einer Schaltfläche ist SWT. Sie finden diese Informationen in der Eclipse-SWT-Dokumentation.
Eclipse SWT Dokumentation-Taste
Setzt der Empfänger die Hintergrundfarbe angegebene Farbe durch das argument, oder die Standard-system-Farbe für die Kontrolle, wenn das argument null ist.
Hinweis: Dieser Vorgang ist ein Hinweis und kann überschrieben werden, indem die Plattform. Zum Beispiel, unter Windows den hintergrund einer Schaltfläche kann nicht geändert werden.