Archief - [PROG] Java - SWT probleempje

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

zarathustra

Legacy Member
PHP:
	void displayLoginScreen(){
		//shell voor login display
		final Shell login = new Shell (shell, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
		
		// Layout voor volledige display (3 rijen)
		login.setLayout(new RowLayout (SWT.VERTICAL));
		
		// eerste rij
		final Composite topLoginPanel = new Composite(login, SWT.NO_FOCUS);
		topLoginPanel.setLayout(new GridLayout(2,false));
		final Label name = new Label(topLoginPanel, SWT.LEFT);
		name.setText("Password:");
		final Text nameBox = new Text(topLoginPanel, SWT.SINGLE);
		nameBox.setSize(100,20);
		
		// tweede rij
//		final Composite middleLoginPanel = new Composite(login, SWT.NO_FOCUS);
//		middleLoginPanel.setLayout(new RowLayout());
		final Label password = new Label(topLoginPanel, SWT.LEFT);
		password.setText("Password:");
		final Text passwordBox = new Text(topLoginPanel, SWT.PASSWORD);
		passwordBox.setSize(100,20);
		
		// derde rij (opgesplitst in 2 kolommen)

		final Composite bottomLoginPanel = new Composite(login, SWT.NO_FOCUS);
		bottomLoginPanel.setLayout(new RowLayout ());
		
		// kolom 1
		final Button loginButton = new Button (bottomLoginPanel, SWT.PUSH);
		loginButton.setText ("Login");
//		GridData loginButtonData = new GridData();
//		loginButtonData.widthHint = buttonWidth;
//		loginButton.setLayoutData(loginButtonData);
		
		// kolom 2
		final Button cancelButton = new Button (bottomLoginPanel, SWT.PUSH);
		cancelButton.setText ("Cancel");
//		GridData cancelButtonData = new GridData();
//		cancelButtonData.widthHint = buttonWidth;
//		cancelButton.setLayoutData(cancelButtonData);
//		
		Listener CancelListener = new Listener () {
			public void handleEvent (Event event) {
				System.out.println("Cancel");
				login.close ();
			}
		};
		Listener LoginListener = new Listener () {
			public void handleEvent (Event event) {
//				gui.login(nameBox.getText(),passwordBox.getText());
				System.out.println(nameBox.getText() + passwordBox.getText());
				System.out.println("Login");
				login.close ();
			}
		};
		loginButton.addListener (SWT.Selection, LoginListener);
		cancelButton.addListener (SWT.Selection, CancelListener);
		
		login.open ();
//		login.pack ();
		System.out.println ("Prompt ...");
		while (!login.isDisposed ()) {
			if (!display.readAndDispatch ()) display.sleep ();
		}
		
	}


Hierboven dus de code.

Wat is nu het probleem? Wel, ik doe daar nameBox.setSize(100,20). Edoch dat werkt dus niet.

Het idee is dus

Username : *tekstvak*
Password : *Tekstvak*

*button* *button*


ik zit al enige tijd te prullen, maar geen resultaat.

Ohja, er staat wat code in commentaar, dat zijn dingen die ik vroeger geprobeerd heb enzo

zarathustra

Legacy Member
Ik merk net dat het op Debian niet werkte, maar op windows XP blijkbaar wel :/

Maar goed dat lost het probleem dus niet op >_>

zarathustra

Legacy Member
opgelost mbv rowlayout en dan rowdata gebruiken.

Voor het geval iemand dit ooit zou nodig hebben. (echt niemand die swt gebruikt eh >_< )

Tombo

Legacy Member
Mja, SWT is nog niet echt zo bekend... jammer echter.. vooral als je ziet wat Eclipse er mee kan uithalen.. :p

.Acku.

Legacy Member
Tombo zei:
Mja, SWT is nog niet echt zo bekend... jammer echter.. vooral als je ziet wat Eclipse er mee kan uithalen.. :p

Is nochtans al paar jaarkes oud ;)
SWT is sneller als Swing, maar niet veel makkelijker in gebruik.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan