2009-05-05 5 views
2

Je crée une interface utilisateur en utilisant XUL. J'ai N boutons que je voudrais ajouter, et tout ce qui m'importe, c'est qu'ils apparaissent tous sur le formulaire, quelle que soit la taille du formulaire. Si j'ajoute un nouveau bouton plus tard ou si je supprime un bouton existant, je voudrais juste supprimer l'élément < du bouton > plutôt que de déplacer les éléments dans les éléments grid ou hbox/vbox.Comment réaliser la disposition de flux dans XUL?

Existe-t-il un moyen d'obtenir ce comportement? Il semble étrange que je ne puisse pas réaliser cela, étant donné que c'est le comportement par défaut en HTML.

+0

Peut-être que vous pourriez reformuler votre question. Dans quel sens devez-vous «déplacer les choses à l'intérieur» lorsque vous enlevez un bouton? – pc1oad1etter

+1

Je pense qu'il veut dire qu'il veut que les boutons continuent sur la prochaine "ligne" s'ils occupent trop d'espace et au lieu de par exemple. Une rangée de boutons devient 2 rangs. C'est probablement ce qu'il veut dire: http://java.sun.com/docs/books/tutorial/uiswing/layout/flow.html – lithorus

+0

lithorus est correct. Sans la possibilité de faire passer les choses automatiquement à une deuxième ligne quand cela est approprié, je dois rééquilibrer les éléments entre les conteneurs de la grille ou {h, v} afin de les faire apparaître d'une manière qui fonctionne visuellement. Pour tenter d'expliquer un concept visuel en mots: disons que j'ai 6 boutons que je veux placer sur le formulaire, et que ma forme est large de 3 boutons. Comment dois-je placer ces boutons de telle sorte que l'ajout/suppression de boutons nécessite le moins de travail? Considérez également que le formulaire peut être redimensionné. – Nathan

Répondre

0

HTML et XUL gèrent cela différemment à un niveau fondamental. XUL est basé sur une boîte. Vous pouvez voir la différence discutée on MDC here. Ce n'est pas tout à fait clair (pour moi) de la documentation, mais nsBoxToBlockAdaptor pourrait être un pas dans la direction que vous cherchez.

+1

nsBoxToBlockAdaptor est une classe interne dans l'implémentation de Gecko, et elle n'existe même pas ces jours-ci. – Nickolay

2

Essayez ceci:

<description><button/><button/><button/><button/><button/> 
       <button/><button/><button/><button/></description> 

XUL <description> on MDC

PS. vous voulez probablement repenser votre interface utilisateur si vous avez un nombre important et non constant de boutons dans une rangée :)

+0

Merci pour la suggestion; Je vais essayer et vous faire savoir comment cela fonctionne. Le nombre d'éléments d'interface utilisateur sur chaque ligne est constant, mais si je veux en ajouter un nouveau, c'est une douleur dans mon cul, et cela rend le redimensionnement de forme maladroit. – Nathan

+0

Ne semble pas fonctionner à l'intérieur d'un élément de tableau. Le contenu du panneau à onglets ne circule pas. – Nathan

+0

@Nathan: au lieu de simplement dire "ça ne marche pas", vous auriez pu fournir le test de test qui montre exactement ce que vous avez essayé. Cela augmenterait les chances que quelqu'un se penche sur le problème pour vous. – Nickolay

Questions connexes