Quand je suis en train d'aligner verticalement les champs, ils ne se comportent pas ce que je pensais? (Blackberry éclipse JDE4.5.0)

StackOverflow https://stackoverflow.com/questions/1365923

Question

J'utilise le plug-in Eclipse & JDE 4.5.0. Comment aligner verticalement les champs. Peut-on aligner les champs comme LEFT_BOTTOM, RIGHT_BOTTOM, LEFT_VCENTER, RIGHT_VCENTER, CENTER (verticalement et horizontalement), BOTTOM_CENTER, etc ...?

Était-ce utile?

La solution

Gestionnaires de terrain de l'interface utilisateur BlackBerry sont notoirement ennuyeux lorsqu'ils traitent avec l'alignement sur le terrain. Les gestionnaires semblent ignorer tous les drapeaux de style (comme HCENTER, VCENTER, etc.) la seule façon que vous serez en mesure de le faire est de remplacer la méthode de sublayout de votre gestionnaire et de le faire vous-même.

Voici un petit extrait pour vous montrer ce que je veux dire. Ce code particulier ne fait horizontal de centrage, non centrage vertical, mais une fois que vous obtenez l'idée que vous pouvez mettre en œuvre tous les styles dont vous avez besoin.

VerticalFieldManager    mainmanager     = new VerticalFieldManager(Field.USE_ALL_WIDTH | Field.USE_ALL_HEIGHT)
{
    protected void sublayout( int width, int height ) {

        super.sublayout( width, height );

        width = getWidth();
        height = getHeight();

        for (int i = 0;i < this.getFieldCount() - 1; i++)
        {
            Field field = this.getField(i);
            //this positions the item in the middle of the manager
            int x = (int)((width - field.getWidth()) * 0.50);
            setPositionChild(field, x, field.getTop());
        }
    }

S'il vous plaît noter que les drapeaux de style USE_ALL_WIDTH et de USE_ALL_HEIGHT sont importants. Si vous voulez faire des choses comme le centrage vertical, alignement inférieur droit, etc., vous devrez écrire le code de positionnement vous-même. Pour l'alignement en bas à droite par exemple, vous pouvez définir la position de x à la largeur du gestionnaire moins la largeur du champ, et la position y à la hauteur du gestionnaire moins la hauteur du champ.

Si vous voulez être en mesure d'utiliser une classe de gestionnaire personnalisé pour gérer plusieurs styles différents (comme en bas à droite, en bas à gauche) vous pouvez ajouter une certaine logique dans sublayout pour vérifier le drapeau de style du champ, puis positionner correctement le champ.

Espérons que tout cela est logique et vous aide. :)

Autres conseils

HorizontalFieldManager accepte uniquement les styles d'alignement vertical et VerticalFieldManager acceptent que l'alignement horizontal. C'est ça. Annoying ++

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top