SWT Menubar mit VE?

roschki

Grünschnabel
Hallo Programmierer, :confused:

habe folgendes Problem mit dem Eclipse VE.
Ich will eine SWT.Menübar in meine Shell ziehen aber der Editor zeigt sie nicht an.

Im Code wird sie hinzugefügt aber im Editor nicht angezeigt. Ich benötige Sie aber dort, damit ich meine Menüelemente reinziehen kann.

Hat dieses Problem schon jemand gehabt?

Vielen Dank im Voraus für die Hilfe

roschki
 
Es gibt 2 möglichkeiten die mir dazu einfallen.
1. Überprüfe ob die Menübar überhaupt sichtbar ist.
2. Mach nach dem reinziehen einen manuellen repaint deines Editors

Ansonsten wäre es auch hilfreich wenn du den Code posten würdest. Ist immer schlecht ohne quellcode den fehler zu finden.
 
Na beispielsweise das was der VE selbst erstellt. :rolleyes:
Sowas wie das hier:

Code:
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.SWT;
public class Window
{

	private Shell sShell = null;  //  @jve:decl-index=0:visual-constraint="176,24"
	private Menu menuBar = null;

	public Window()
	{
		
	}

	/**
	 * This method initializes sShell	
	 *
	 */
	private void createSShell()
	{
		sShell = new Shell();
		sShell.setText("TestWindow");
		sShell.setVisible(true);
		sShell.setSize(new org.eclipse.swt.graphics.Point(571,254));
		menuBar = new Menu(sShell, SWT.BAR);
		menuBar.setVisible(true);
		sShell.setMenuBar(menuBar);
	}

	/*
	 * Temporary main generation 
	 */
	public static void main(String[] args)
	{
		// before you run this, make sure to set up the following in
		// the launch configuration (Arguments->VM Arguments) for the correct SWT lib. path
		// the following is a windows example,
		// -Djava.library.path="installation_directory\plugins\org.eclipse.swt.win32_3.0.1\os\win32\x86"
		org.eclipse.swt.widgets.Display display = org.eclipse.swt.widgets.Display
				.getDefault();
		Window test = new Window();
		test.createSShell();
		test.sShell.open();
	
		while (!test.sShell.isDisposed())
		{
			if (!display.readAndDispatch())
				display.sleep();
		}
		display.dispose();
	}

}

Der Editor zeigt nur die Shell an aber keine Menüleiste obwohl sie codetechnisch ja da ist!
Wenn ich das Programm ausführe ist auch keine da, ganz im Gegensatz dazu wenn ich alles per Hand programmiere.
Schon irgendwie seltsam. Was meinst du mit "manuell repainten"? Habe die Klasse mal geschlossen und neu im VE geöffnet, selbes Spiel

MfG
roschki
 
Zurück