23. november 2005 - 14:48Der er
5 kommentarer og 1 løsning
Åbne flere vinduer i SWT
Hejsa Jeg har leget en lille smule med SWT, og det er et ok alternativ til Swing. Mit problem er at jeg ikke kan gennemskue hvordan man åbner flere vinduer. Så vidt jeg kan se, så "sidder programmet fast" i den while lykke der lytter efter om vinduet bliver vist.
Jeg vil gerne åbne 2 uafhængive vinduer fra samme program. Det er altså ikke et vindue der åbner et andet vindue. men programmet der åbner flere vinduer (skal være et vilkårligt antal), uden at de "låser for hinanden".
Håber noget har bedre forstand på SWT end jeg har :)
final Button openDialog = new Button(shell, SWT.PUSH); openDialog.setText("Click here to rate this book ...");
openDialog.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { final Shell dialog = new Shell(shell, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL); dialog.setLayout(new RowLayout());
final String[] ratings = new String[] { "Killer!", "Good stuff", "So-so", "Needs work" }; final Button[] radios = new Button[ratings.length]; for (int i = 0; i < ratings.length; i++) { radios[i] = new Button(dialog, SWT.RADIO); radios[i].setText(ratings[i]); }
Button rateButton = new Button(dialog, SWT.PUSH); rateButton.setText("Rate!"); rateButton.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { for (int i = 0; i < radios.length; i++) if (radios[i].getSelection()) openDialog.setText("Rating: " + ratings[i]); dialog.close(); }
public void widgetDefaultSelected(SelectionEvent e) { } });
dialog.pack(); dialog.open();
// Move the dialog to the center of the top level shell. Rectangle shellBounds = shell.getBounds(); Point dialogSize = dialog.getSize();
Svar for at lukke opgaven. Maximus, du får gerne points, men du har ikke lagt et svar.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.