[Layout GXT] Glue Horizontale?
Bonjour à tous,
J'aimerai trouver le moyen d'avoir un composant graphique tel qu'un Text (Label) ou autre XPanel qui prendrait automatiquement un maximum de place par rapport aux autres composants placés de manière horizontale sur un même parent.
Exemple:
Ce que j'ai aujourd'hui
Code:
[-[Progress Bar][Text][Bouton 1][Bouton 2] -]
Ce que j'aimerai:
Que le "Text" prenne toute la place disponible en horizontale pour séparer la ProgressBar des deux boutons
Code:
[-[Progress Bar][Text ][Bouton 1][Bouton 2]-]
Les "balises" [- et -] représentent le bord d'une fenêtre...
Voici un exemple d'implémentation 'foireuse' - qui attend une solution de type Glue comme en SWING ou autre comme un GridData avec des champs SWT.FILL en SWT...
Code GXT actuel:
Code:
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 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
|
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
import com.extjs.gxt.ui.client.widget.Composite;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.ProgressBar;
import com.extjs.gxt.ui.client.widget.Text;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.button.ButtonBar;
import com.extjs.gxt.ui.client.widget.layout.HBoxLayout;
/**
* TODO: DOCUMENT ME!
*
* @author Internal Tools Team
*/
public class TestComposite
extends Composite {
/**
* Creates a new TestComposite object.
*/
public TestComposite() {
initGUI();
}
/**
* TODO DOCUMENT ME!
*/
private void initGUI() {
{
this.contentPanel = new ContentPanel();
this.contentPanel.setCollapsible(true);
{
this.buttonBar = new ButtonBar();
this.buttonBar.setAlignment(HorizontalAlignment.RIGHT);
{
this.progressBar = new ProgressBar();
this.buttonBar.add(this.progressBar);
this.progressBar.setWidth("96px");
this.progressBar.updateProgress(0.2, "Saving...");
}
{
this.text = new Text("New Text");
this.buttonBar.add(this.text);
}
{
this.button = new Button("New Button");
this.buttonBar.add(this.button);
}
{
this.button_1 = new Button("New Button");
this.buttonBar.add(this.button_1);
}
HBoxLayout hbl_contentPanel = new HBoxLayout();
this.contentPanel.setLayout(hbl_contentPanel);
this.contentPanel.add(this.buttonBar);
}
initComponent(this.contentPanel);
this.contentPanel.setSize("524px", "91px");
}
}
/** TODO Document Me! */
private Button button;
/** TODO Document Me! */
private Button button_1;
/** TODO Document Me! */
private ButtonBar buttonBar;
/** TODO Document Me! */
private ContentPanel contentPanel;
/** TODO Document Me! */
private ProgressBar progressBar;
/** TODO Document Me! */
private Text text;
} |
Merci d'avance pour vos solutions.