1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class Test2 {
public static void main(String[] args) {
// Création d'un shell
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new FillLayout(SWT.VERTICAL));
shell.setText("Exemple");
// Création d'un contenu
new Label(shell, SWT.NONE).setText("Texte 1");
Text t1 = new Text(shell, SWT.BORDER);
new Label(shell, SWT.NONE).setText("Texte 2");
Text t2 = new Text(shell, SWT.BORDER);
new Label(shell, SWT.NONE).setText("Texte 3");
Text t3 = new Text(shell, SWT.BORDER);
// Le listener
Listener listener = new Listener() {
public void handleEvent(Event e) {
if (e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR) {
// Annule l'événement
e.doit = false;
// Cherche l'élément sur lequel CR a été appuyé
final Control control = (Control) e.widget;
final Control[] tabList = control.getParent().getTabList();
int length = tabList.length;
int index = 0;
while (index < length) {
// Trouvé !
if (tabList[index] == control)
break;
index++;
}
if (index >= (length - 1))
index = -1;
// Passe à l'élément suivant
tabList[index + 1].forceFocus();
}
}
};
// Affecte les listeners
t1.addListener(SWT.KeyUp, listener);
t2.addListener(SWT.KeyUp, listener);
t3.addListener(SWT.KeyUp, listener);
// Et affiche la fenêtre
shell.setSize(1000, 600);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
} |
Partager