Hallo zusammen,
ich möchte in meinem Code die Fonts von einer Shell setzen. Dabei möchte ich die Schriftgröße aller Elemente in der Shell ändern.
Ich habe schon einiges ausprobiert und das zeigt keine Wirkung. Es geht nur wenn ich lblSasasasasasasas.setFonts() benuzte, sonst nicht. Habt ihr vielleicht Vorschläge, wie ich das Setzen von Fonts bei einer Shell machen kann? Was mache ich falsch, die Funktion gibt es ja...
Vielen Dank
ich möchte in meinem Code die Fonts von einer Shell setzen. Dabei möchte ich die Schriftgröße aller Elemente in der Shell ändern.
Code:
package main_gui.gui;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Device;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
public class Test {
Shell shell;
static Display display;
public static void main(String args[]) {
display = Display.getDefault();
try {
Test w = new Test();
w.open();
} catch (Exception e) {
e.printStackTrace();
}
}
public void open() {
createContents();
shell.open();
// shell.layout();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
}
protected void createContents() {
shell = new Shell();
Control control = shell;
display = shell.getDisplay();
// fontRegistry = new FontRegistry(display);
Font font1 = new Font(display, new FontData("Arial", 10, SWT.BOLD));
Font font2 = new Font(shell.getDisplay(), new FontData("Arial", 24, SWT.NORMAL));
// fontRegistry.put("code", new FontData[] { new FontData("Arial", 10, SWT.BOLD) });
// fontRegistry.put("code1", new FontData[] { new FontData("Arial", 14, SWT.NORMAL) });
shell.setFont(font1);
Button btnNewButton = new Button(shell, SWT.NONE);
btnNewButton.setBounds(265, 105, 75, 25);
btnNewButton.setText("New Button");
Label lblSasasasasasasas = new Label(shell, SWT.NONE);
lblSasasasasasasas.setBounds(26, 36, 346, 63);
lblSasasasasasasas.setText("sasasasasasasas");
btnNewButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
font1.dispose();
control.setFont(font2);
// shell.setFont(font2);
shell.requestLayout();
shell.layout();
}
});
}
}
Vielen Dank