SWT Bug oder Feature?

lumo

Top Contributor
Hallo

ich hab gerade etwas entdeckt, wo ich nicht weiss was es sein soll... bug oder feature.
ich nehme eine shell und geb ein bild als hintergrundpattern.
dann setze ich den background mode auf inherit (vererben für die kinder)
dann adde ich buttons (check und radio)
setze dann die farbe der buttons (font - foreground) auf weiss (habe ein dunkles bild als pattern)
und siehe da, die schrift der buttons ist immer noch schwarz. bug oder feature?:D

Java:
public class ButtonTestWindow {

	protected Shell shell;

	/**
	 * Launch the application.
	 * @param args
	 */
	public static void main(String[] args) {
		try {
			ButtonTestWindow window = new ButtonTestWindow();
			window.open();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * Open the window.
	 */
	public void open() {
		Display display = Display.getDefault();
		createContents();
		shell.open();
		shell.layout();
		while (!shell.isDisposed()) {
			if (!display.readAndDispatch()) {
				display.sleep();
			}
		}
	}

	/**
	 * Create contents of the window.
	 */
	protected void createContents() {
		shell = new Shell();
		shell.setSize(450, 300);
		Utils.centerDialogOnScreen(shell);
		shell.setText("SWT Application");
		shell.setBackgroundMode(SWT.INHERIT_DEFAULT);
		shell.setBackgroundImage(ImageCache.getImage("comb.png"));
		shell.setLayout(new GridLayout(3, false));
		
		Button btnSwtButton = new Button(shell, SWT.NONE);
		btnSwtButton.setText("SWT Button");
		
		Button btnSwtCheckbutton = new Button(shell, SWT.CHECK);
		btnSwtCheckbutton.setForeground(SWTResourceManager.getColor(SWT.COLOR_WHITE));
		btnSwtCheckbutton.setText("SWT CheckButton");
		
		Button btnSwtRadiobutton = new Button(shell, SWT.RADIO);
		btnSwtRadiobutton.setForeground(SWTResourceManager.getColor(SWT.COLOR_WHITE));
		btnSwtRadiobutton.setText("SWT RadioButton");
		
	}
}
 

Anhänge

  • bugOrFeature.JPG
    bugOrFeature.JPG
    7,9 KB · Aufrufe: 60

lumo

Top Contributor
Den Bug Report hab ich auch schon gelesen, aber dass Windows das nicht erlaubt... Hab selbst nen Button geschrieben, der das kann...
 

Sonecc

Gesperrter Benutzer
Wie im MSDN nachzulesen ist, gibt es bestimmte Buttons, bei denen diese Veränderung erlaubt sind. Diese verlangen aber, dass der Buttoninhalt komplett selbstgezeichnet ist. Da dies bei normalen Push Buttons nicht der Fall ist, sind etwaige Änderungen eben nicht erlaubt.

Wenn du dir den zweiten Link etwas genauer angeschaut hättest, hättest du das auch gelesen, genauso hättest du den dortigen Workaround sehen können (ob das aber funktioniert weiß ich nicht)
 

Ähnliche Java Themen


Oben