J'essaie de disposer deux objets Text et Button sur la meme ligne a l'aide
du GridLayout de l'API SWT de maniere a ce que l'objet Text occupe toute la
place disponible et l'objet Button le strict necessaire.
Lorsqu'il n'y a qu'une seule ligne tout est correct.
Par contre, lorsque l'on ajoute un objet (ici un Text MULTI) en dessous sur
deux colonnes (gridData.horizontalSpan = 2), le premier objet n'occupe plus
que la moitier de la longeur totale.
Les colonnes ont la meme largeur alors que "makeColumnsEqualWidth" du
GridLayout est initialise a "false" !!!
Aurai-je oublie quelques choses ou bien le GridLayout a-t-il un bug ?
Une solution pour remedier a ce probleme ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
CABA
Salut,
Je n'ai pas encore l'explication du pourquoi ça ne marche pas mais ça marche comme ça :
public static void main (String[] args) { Display display = new Display();
Shell shell = new Shell(display);
GridLayout gl = new GridLayout();
gl.numColumns = 2;
shell.setLayout(gl);
Text text1 = new Text(shell, SWT.SINGLE | SWT.BORDER);
GridData dataText1 = new GridData(GridData.FILL_HORIZONTAL);
text1.setLayoutData(dataText1);
Button bouton = new Button(shell, SWT.PUSH);
bouton.setText("bouton");
bouton.setLayoutData(new GridData());
Text text2 = new Text(shell, SWT.MULTI | SWT.BORDER);
GridData gridData = new GridData();
gridData.horizontalSpan = 2;
gridData.horizontalAlignment = GridData.FILL;
gridData.verticalAlignment = GridData.FILL;
gridData.grabExcessVerticalSpace = true;
text2.setLayoutData(gridData);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
Voilà.
J'espère que ça t'aide quand même.
A+ CABA
"Julie" a écrit dans le message de news: 3fc4c3b4$0$9295$
Bonjour,
J'essaie de disposer deux objets Text et Button sur la meme ligne a l'aide du GridLayout de l'API SWT de maniere a ce que l'objet Text occupe toute la
place disponible et l'objet Button le strict necessaire. Lorsqu'il n'y a qu'une seule ligne tout est correct. Par contre, lorsque l'on ajoute un objet (ici un Text MULTI) en dessous sur
deux colonnes (gridData.horizontalSpan = 2), le premier objet n'occupe plus
que la moitier de la longeur totale. Les colonnes ont la meme largeur alors que "makeColumnsEqualWidth" du GridLayout est initialise a "false" !!! Aurai-je oublie quelques choses ou bien le GridLayout a-t-il un bug ? Une solution pour remedier a ce probleme ?
Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new GridLayout(2, false));
Text text1 = new Text(shell, SWT.SINGLE | SWT.BORDER); text1.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
Button bouton = new Button(shell, SWT.PUSH); bouton.setText("bouton");
Text text2 = new Text(shell, SWT.MULTI | SWT.BORDER); GridData gridData = new GridData(GridData.FILL_BOTH); gridData.horizontalSpan = 2; text2.setLayoutData(gridData);
shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose();
}
}
Salut,
Je n'ai pas encore l'explication du pourquoi ça ne marche pas mais ça marche
comme ça :
public static void main (String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
GridLayout gl = new GridLayout();
gl.numColumns = 2;
shell.setLayout(gl);
Text text1 = new Text(shell, SWT.SINGLE | SWT.BORDER);
GridData dataText1 = new GridData(GridData.FILL_HORIZONTAL);
text1.setLayoutData(dataText1);
Button bouton = new Button(shell, SWT.PUSH);
bouton.setText("bouton");
bouton.setLayoutData(new GridData());
Text text2 = new Text(shell, SWT.MULTI | SWT.BORDER);
GridData gridData = new GridData();
gridData.horizontalSpan = 2;
gridData.horizontalAlignment = GridData.FILL;
gridData.verticalAlignment = GridData.FILL;
gridData.grabExcessVerticalSpace = true;
text2.setLayoutData(gridData);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
Voilà.
J'espère que ça t'aide quand même.
A+
CABA
"Julie" <jlarousse-nospam@hotmail.com> a écrit dans le message de news:
3fc4c3b4$0$9295$626a54ce@news.free.fr...
Bonjour,
J'essaie de disposer deux objets Text et Button sur la meme ligne a l'aide
du GridLayout de l'API SWT de maniere a ce que l'objet Text occupe toute
la
place disponible et l'objet Button le strict necessaire.
Lorsqu'il n'y a qu'une seule ligne tout est correct.
Par contre, lorsque l'on ajoute un objet (ici un Text MULTI) en dessous
sur
deux colonnes (gridData.horizontalSpan = 2), le premier objet n'occupe
plus
que la moitier de la longeur totale.
Les colonnes ont la meme largeur alors que "makeColumnsEqualWidth" du
GridLayout est initialise a "false" !!!
Aurai-je oublie quelques choses ou bien le GridLayout a-t-il un bug ?
Une solution pour remedier a ce probleme ?
Je n'ai pas encore l'explication du pourquoi ça ne marche pas mais ça marche comme ça :
public static void main (String[] args) { Display display = new Display();
Shell shell = new Shell(display);
GridLayout gl = new GridLayout();
gl.numColumns = 2;
shell.setLayout(gl);
Text text1 = new Text(shell, SWT.SINGLE | SWT.BORDER);
GridData dataText1 = new GridData(GridData.FILL_HORIZONTAL);
text1.setLayoutData(dataText1);
Button bouton = new Button(shell, SWT.PUSH);
bouton.setText("bouton");
bouton.setLayoutData(new GridData());
Text text2 = new Text(shell, SWT.MULTI | SWT.BORDER);
GridData gridData = new GridData();
gridData.horizontalSpan = 2;
gridData.horizontalAlignment = GridData.FILL;
gridData.verticalAlignment = GridData.FILL;
gridData.grabExcessVerticalSpace = true;
text2.setLayoutData(gridData);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
Voilà.
J'espère que ça t'aide quand même.
A+ CABA
"Julie" a écrit dans le message de news: 3fc4c3b4$0$9295$
Bonjour,
J'essaie de disposer deux objets Text et Button sur la meme ligne a l'aide du GridLayout de l'API SWT de maniere a ce que l'objet Text occupe toute la
place disponible et l'objet Button le strict necessaire. Lorsqu'il n'y a qu'une seule ligne tout est correct. Par contre, lorsque l'on ajoute un objet (ici un Text MULTI) en dessous sur
deux colonnes (gridData.horizontalSpan = 2), le premier objet n'occupe plus
que la moitier de la longeur totale. Les colonnes ont la meme largeur alors que "makeColumnsEqualWidth" du GridLayout est initialise a "false" !!! Aurai-je oublie quelques choses ou bien le GridLayout a-t-il un bug ? Une solution pour remedier a ce probleme ?
Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new GridLayout(2, false));
Text text1 = new Text(shell, SWT.SINGLE | SWT.BORDER); text1.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
Button bouton = new Button(shell, SWT.PUSH); bouton.setText("bouton");
Text text2 = new Text(shell, SWT.MULTI | SWT.BORDER); GridData gridData = new GridData(GridData.FILL_BOTH); gridData.horizontalSpan = 2; text2.setLayoutData(gridData);
shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose();
}
}
Julie
Etrange ! Ce GridLayout a parfois un fonctionnement bizarre. Merci CABA.
"CABA" a écrit dans le message news: bq2k97$3q3$
Salut,
Je n'ai pas encore l'explication du pourquoi ça ne marche pas mais ça marche
comme ça :
public static void main (String[] args) { Display display = new Display();
Shell shell = new Shell(display);
GridLayout gl = new GridLayout();
gl.numColumns = 2;
shell.setLayout(gl);
Text text1 = new Text(shell, SWT.SINGLE | SWT.BORDER);
GridData dataText1 = new GridData(GridData.FILL_HORIZONTAL);
text1.setLayoutData(dataText1);
Button bouton = new Button(shell, SWT.PUSH);
bouton.setText("bouton");
bouton.setLayoutData(new GridData());
Text text2 = new Text(shell, SWT.MULTI | SWT.BORDER);
GridData gridData = new GridData();
gridData.horizontalSpan = 2;
gridData.horizontalAlignment = GridData.FILL;
gridData.verticalAlignment = GridData.FILL;
gridData.grabExcessVerticalSpace = true;
text2.setLayoutData(gridData);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
Voilà.
J'espère que ça t'aide quand même.
A+ CABA
"Julie" a écrit dans le message de news: 3fc4c3b4$0$9295$
Bonjour,
J'essaie de disposer deux objets Text et Button sur la meme ligne a l'aide
du GridLayout de l'API SWT de maniere a ce que l'objet Text occupe toute la
place disponible et l'objet Button le strict necessaire. Lorsqu'il n'y a qu'une seule ligne tout est correct. Par contre, lorsque l'on ajoute un objet (ici un Text MULTI) en dessous sur
deux colonnes (gridData.horizontalSpan = 2), le premier objet n'occupe plus
que la moitier de la longeur totale. Les colonnes ont la meme largeur alors que "makeColumnsEqualWidth" du GridLayout est initialise a "false" !!! Aurai-je oublie quelques choses ou bien le GridLayout a-t-il un bug ? Une solution pour remedier a ce probleme ?
Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new GridLayout(2, false));
Text text1 = new Text(shell, SWT.SINGLE | SWT.BORDER); text1.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
Button bouton = new Button(shell, SWT.PUSH); bouton.setText("bouton");
Text text2 = new Text(shell, SWT.MULTI | SWT.BORDER); GridData gridData = new GridData(GridData.FILL_BOTH); gridData.horizontalSpan = 2; text2.setLayoutData(gridData);
shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose();
}
}
Etrange ! Ce GridLayout a parfois un fonctionnement bizarre.
Merci CABA.
"CABA" <caba@netcourrier.com> a écrit dans le message news:
bq2k97$3q3$1@s1.read.news.oleane.net...
Salut,
Je n'ai pas encore l'explication du pourquoi ça ne marche pas mais ça
marche
comme ça :
public static void main (String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
GridLayout gl = new GridLayout();
gl.numColumns = 2;
shell.setLayout(gl);
Text text1 = new Text(shell, SWT.SINGLE | SWT.BORDER);
GridData dataText1 = new GridData(GridData.FILL_HORIZONTAL);
text1.setLayoutData(dataText1);
Button bouton = new Button(shell, SWT.PUSH);
bouton.setText("bouton");
bouton.setLayoutData(new GridData());
Text text2 = new Text(shell, SWT.MULTI | SWT.BORDER);
GridData gridData = new GridData();
gridData.horizontalSpan = 2;
gridData.horizontalAlignment = GridData.FILL;
gridData.verticalAlignment = GridData.FILL;
gridData.grabExcessVerticalSpace = true;
text2.setLayoutData(gridData);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
Voilà.
J'espère que ça t'aide quand même.
A+
CABA
"Julie" <jlarousse-nospam@hotmail.com> a écrit dans le message de news:
3fc4c3b4$0$9295$626a54ce@news.free.fr...
Bonjour,
J'essaie de disposer deux objets Text et Button sur la meme ligne a
l'aide
du GridLayout de l'API SWT de maniere a ce que l'objet Text occupe toute
la
place disponible et l'objet Button le strict necessaire.
Lorsqu'il n'y a qu'une seule ligne tout est correct.
Par contre, lorsque l'on ajoute un objet (ici un Text MULTI) en dessous
sur
deux colonnes (gridData.horizontalSpan = 2), le premier objet n'occupe
plus
que la moitier de la longeur totale.
Les colonnes ont la meme largeur alors que "makeColumnsEqualWidth" du
GridLayout est initialise a "false" !!!
Aurai-je oublie quelques choses ou bien le GridLayout a-t-il un bug ?
Une solution pour remedier a ce probleme ?
Etrange ! Ce GridLayout a parfois un fonctionnement bizarre. Merci CABA.
"CABA" a écrit dans le message news: bq2k97$3q3$
Salut,
Je n'ai pas encore l'explication du pourquoi ça ne marche pas mais ça marche
comme ça :
public static void main (String[] args) { Display display = new Display();
Shell shell = new Shell(display);
GridLayout gl = new GridLayout();
gl.numColumns = 2;
shell.setLayout(gl);
Text text1 = new Text(shell, SWT.SINGLE | SWT.BORDER);
GridData dataText1 = new GridData(GridData.FILL_HORIZONTAL);
text1.setLayoutData(dataText1);
Button bouton = new Button(shell, SWT.PUSH);
bouton.setText("bouton");
bouton.setLayoutData(new GridData());
Text text2 = new Text(shell, SWT.MULTI | SWT.BORDER);
GridData gridData = new GridData();
gridData.horizontalSpan = 2;
gridData.horizontalAlignment = GridData.FILL;
gridData.verticalAlignment = GridData.FILL;
gridData.grabExcessVerticalSpace = true;
text2.setLayoutData(gridData);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
Voilà.
J'espère que ça t'aide quand même.
A+ CABA
"Julie" a écrit dans le message de news: 3fc4c3b4$0$9295$
Bonjour,
J'essaie de disposer deux objets Text et Button sur la meme ligne a l'aide
du GridLayout de l'API SWT de maniere a ce que l'objet Text occupe toute la
place disponible et l'objet Button le strict necessaire. Lorsqu'il n'y a qu'une seule ligne tout est correct. Par contre, lorsque l'on ajoute un objet (ici un Text MULTI) en dessous sur
deux colonnes (gridData.horizontalSpan = 2), le premier objet n'occupe plus
que la moitier de la longeur totale. Les colonnes ont la meme largeur alors que "makeColumnsEqualWidth" du GridLayout est initialise a "false" !!! Aurai-je oublie quelques choses ou bien le GridLayout a-t-il un bug ? Une solution pour remedier a ce probleme ?