SWT benötige den richtigen SWT style --> org.eclipse.swt.SWT.*

tanzverfuehrung

Bekanntes Mitglied
Ich habe einen kleinen Dialog mit einem ListViewer zum auswählen bestimmter Variablen.
JEdoch benutze 9ich jetzt den Style SWT.TOOL
Java:
	dialog = new Shell(text.getShell(), TOOL);
ICh bräuchte aber oben rechts noch ein kleines x zum schließen des festers..
wenn ich das SWT.CLOSE hinzufüge
Java:
		dialog = new Shell(text.getShell(), TOOL | CLOSE);
..dann ist da gleich wieder so ein dicker rand, was ich nicht möchte.

Gibt es da ein SWT style, was meine wünsche realisiert?
 

dzim

Top Contributor
(SWT.TOOL | SWT.CLOSE) gibt dir wirklich den Platformspezifischen Tool-Dialog (ja, ich weiss, die titleBar unter Windows ist recht riesig). Wenn dir der nicht passt, musst du eine komplett undekorierte Shell bauen und selbst einen Close-Button implementieren. Ist an und für sich kein Ding, aber halt mit ein klein wenig mehr Arbeit verbunden.
 

dzim

Top Contributor
Beispiel (Designtechnisch ist es 1. eine Katastrophe und 2. eigentlich identisch zur Variante (SWT.TOOL | SWT.CLOSE) - und 3. ist der Code eher bescheiden :) ):

Java:
import java.util.ArrayList;

public class ShellDialog extends Shell {
	
	/**
	 * Launch the application.
	 * 
	 * @param args
	 */
	public static void main(String args[]) {
		try {
			Display display = Display.getDefault();
			ShellDialog shell = new ShellDialog(display);
			shell.open();
			shell.layout();
			while (!shell.isDisposed()) {
				if (!display.readAndDispatch()) {
					display.sleep();
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * Create the shell.
	 * 
	 * @param display
	 */
	public ShellDialog(Display display) {
		super(display, SWT.NONE);
		createContents();
	}
	
	/**
	 * Create contents of the shell.
	 */
	protected void createContents() {
		setText("SWT Application");
		setSize(450, 300);
		
		setLayout(new GridLayout(2, false));
		
		Label lblNewLabel = new Label(this, SWT.NONE);
		lblNewLabel.setText("Dialog Title");
		
		Button buttonClose = new Button(this, SWT.NONE);
		buttonClose.addSelectionListener(new SelectionAdapter() {
			@Override
			public void widgetSelected(SelectionEvent e) {
				ShellDialog.this.dispose();
			}
		});
		buttonClose.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
		buttonClose.setText("X");
		
		ListViewer viewer = new ListViewer(this);
		org.eclipse.swt.widgets.List list = viewer.getList();
		GridData gd_list = new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1);
		gd_list.widthHint = 29;
		list.setLayoutData(gd_list);
		viewer.setContentProvider(new ArrayContentProvider());
		viewer.setLabelProvider(new LabelProvider());
		
		List<String> variables = new ArrayList<>();
		variables.add("Broccoli");
		variables.add("Bundt Cake");
		variables.add("Cabbage");
		variables.add("Candy Canes");
		variables.add("Eggs");
		variables.add("Potato Chips");
		variables.add("Milk");
		variables.add("Soda");
		variables.add("Chicken");
		variables.add("Cinnamon Rolls");
		viewer.setInput(variables);
	}
	
	@Override
	protected void checkSubclass() {
		// Disable the check that prevents subclassing of SWT components
	}
	
}
Aber du kannst den close-Button ja hinlegen wo du willst. Bedenke nur immer: Was erwartet der Nutzer deiner Applikation am Ende. Mach es also sinnvoll...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Swing Benötige Hilfe um ein Swing Canvas zu speichern AWT, Swing, JavaFX & SWT 4
2 Swing Was benötige ich? JFrame?InternalFrame? AWT, Swing, JavaFX & SWT 10
N Benötige Swing Layout Nachhilfe AWT, Swing, JavaFX & SWT 4
R Swing Welche LayoutManager sind die richtigen für mich? AWT, Swing, JavaFX & SWT 11
J 2D-Grafik Linie wird nach Mausklick nicht am richtigen Ort gezeichnet AWT, Swing, JavaFX & SWT 11
C Label wird nicht an der richtigen Position angezeigt.. AWT, Swing, JavaFX & SWT 7
C LayoutManager BorderLayout im richtigen Format beschriften AWT, Swing, JavaFX & SWT 10
F Swing GUI wird nicht zum richtigen Zeitpunkt neu gezeichnet AWT, Swing, JavaFX & SWT 26
D JTree zur richtigen Zeit aktualisieren. AWT, Swing, JavaFX & SWT 3
S Setzen der richtigen Größe einer JTextPane ohne Rand AWT, Swing, JavaFX & SWT 4
G Wie komme ich an die richtigen daten nach dem sortieren? AWT, Swing, JavaFX & SWT 6
MiMa Login mit CSS Style AWT, Swing, JavaFX & SWT 9
J JavaFX Dialog - Style AWT, Swing, JavaFX & SWT 6
L JavaFX ListView oder TableView Style überschreiben? AWT, Swing, JavaFX & SWT 6
M JavaFX Scrollpane: Style von Contentpanel default AWT, Swing, JavaFX & SWT 1
M Swing JColorchooser anpassen - custom style? AWT, Swing, JavaFX & SWT 0
S Swing Style Attribute aus JTextPane kopieren AWT, Swing, JavaFX & SWT 1
M SWT Sprache bei SWT Style Constants AWT, Swing, JavaFX & SWT 9
E SWT ExpandBar Style AWT, Swing, JavaFX & SWT 2
W JButton verliert den Style AWT, Swing, JavaFX & SWT 4
M AWT - XP Style AWT, Swing, JavaFX & SWT 4
K SWT Style Bits API was bedeutet << AWT, Swing, JavaFX & SWT 38
S Iphone Style Schliessen AWT, Swing, JavaFX & SWT 3
G SWT Style AWT, Swing, JavaFX & SWT 8
R JTextArea im JTextField Style AWT, Swing, JavaFX & SWT 2
I "default"-Style im DefaultStyledDocument AWT, Swing, JavaFX & SWT 2
K Windows Style als standard? AWT, Swing, JavaFX & SWT 2
I Swt Label und style AWT, Swing, JavaFX & SWT 5
A Probleme mit Windows Style (Background) AWT, Swing, JavaFX & SWT 4
D Kann jeditorPane CSS Style-Sheets und javascript AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben