2011-07-19 2 views
1
package org.jilen.editor 
import org.eclipse.swt.widgets.Display 
import org.eclipse.swt.widgets.Shell 
import org.eclipse.swt.widgets.Text 
import org.eclipse.swt.SWT 

object EditorApp { 
    def main(args: Array[String]) { 
    val display = new Display() 
    val shell = new Shell(display) 
    val text = new Text(shell, SWT.CENTER) 
    text.setText("Hello SWT") 
    shell.pack() 
    shell.open() 
    while (!shell.isDisposed) { 
     if (!display.readAndDispatch) { 
     display.sleep() 
     } 
    } 
    display.dispose() 
    } 
} 

code extrêmement simple, mais aucun texte n'est affiché.
La fenêtre devrait avoir "bonjour swt" au centre.
scala.version = 2.9.0-1, SWT: 3.7.0-win32
empty windowSWT Le widget de texte n'apparaît pas

Répondre

5

Ajouter cette ligne après la création de votre shell:

shell.setLayout(new FillLayout) 
+0

tour est joué! il semble que "swt/jface en action" est trop vieux pour swt 3.7 – jilen

+1

En fait, ça a toujours été comme ça. :-) C'est simplement la différence entre SWT (qui n'a pas de disposition par défaut) et JFace (qui le fait). –

Questions connexes