2016-01-27 2 views
0

Je fais un projet avec GUI. La chose est, que j'ai un bouton et ce que je dois faire est que, après avoir cliqué sur ce bouton, j'ai besoin de changer la mise en page du cadre. Par exemple, comme lorsque vous installez un programme et que vous cliquez sur le bouton "Suivant", la disposition des cadres change et vous pouvez voir un contenu différent. Fondamentalement, assistant dynamique. J'ai essayé d'utiliser un autre cadre, mais il s'ouvre dans une autre fenêtre et ce n'est pas ce que je veux. Je veux l'ouvrir dans la même fenêtre. Une autre chose que j'ai essayée est de définir la visibilité de ces composants que je ne veux pas afficher à faux, mais je trouve cela non professionnel et c'est négliger en faisant un desing, quand j'ai des composants sur eux-mêmes.Comment créer un assistant dynamique?

Alors, vous avez une idée? Je vous remercie.

+0

Voir si cela va vous aider: http://stackoverflow.com/questions/2340566/creating-wizards-for-windows-forms-in-c-sharp –

Répondre

0

La plupart du temps pour un assistant comme GUI, vous devriez avoir JFrame et un ensemble de JPanel s. Dans chaque étape, vous pouvez transmettre les données partagées en tant qu'arguments constructeurs à chaque panneau, et lorsque vous en indiquez une invisible et que vous en indiquez une autre, vous pouvez obtenir une date dans le panneau d'étape précédent et passer au panneau d'étape suivant (si besoin).

Il est très commun que vos panneaux étendent le JPanel et aient un argument dans leur (s) constructeur (s). Vous utilisez ces données pour initialiser votre panel et gérer l'état d'avancement global.

Il n'existe pas de plan global pour toutes les situations. Vous devez donc décider quoi faire qui convient le mieux à votre cas. Essayez de ne pas avoir plusieurs JFrame s.

Espérons que cela serait utile.

+0

J'ai essayé, mais je ne peux pas mettre des panneaux par rapport à d'autres composants –

+0

Ok, je ne peux pas savoir ce que vous voulez dire par mettre des panneaux sur d'autres composants. Normalement, vous pouvez avoir des panneaux avec des composants sur chaque panneau. Et vous devriez rendre chaque panneau visible/invisible en raison de l'étape dans laquelle votre assistant est entré. Vous ne pouvez pas mettre de panneaux (conteneurs) sur les composants comme JButtons, JTextFields. Les panneaux peuvent être placés sur d'autres panneaux ou d'autres conteneurs tels que JFrames ou JDialog, JSplitpane, etc. – STaefi

+0

A ce stade, vous devriez essayer certains codes. Si vous avez eu des problèmes, vous pouvez poster votre code ici. Ensuite, nous pouvons trouver quel est le problème avec votre code qui ne fait pas ce que vous voulez. En ce moment, nous ne pouvons pas savoir ce qui se passe à la volée. – STaefi