Je suis en difficulté (!) Avec le développement de l'interface graphique Java. Toutes ces petites choses qui ont un sens évident ne fonctionnent pas. Je vais vous expliquer ce que j'essaie de faire et où j'échoue (c'est assez frustrant):La valeur de setPreferredSize de Java ne sera pas redimensionnée JPanel
J'ai cet objet graphics2d qui réside dans un panneau. Maintenant, ce graphisme dessine une image, il peut continuer et dessiner pour toujours. ce dessin se développe horrioncally et puisque je ne sais pas quelle taille s'attendre je l'ai mis dans un scrollpane. Maintenant, je veux redimensionner le JPanel dans chaque itération de la douleur et mettre la valeur setPreferredSize à une plus grande valeur, en élargissant ainsi le bouton du scrollpane.
Le problème: Pour une raison quelconque, lorsque j'appelle setPreferredSize à partir de paint, il ne fait rien. Je l'appelle sur le panneau. Lorsque j'essaie d'appeler setPreferredSize à partir de la fonction qui appelle paint, il n'effectue l'opération de redimensionnement qu'une seule fois!
Quelle pourrait être la raison de cela? En dehors de cela j'ai une autre petite question, j'aimerais résoudre: Depuis le dessin graphique continue et augmente en taille dans le temps, comment puis-je avancer la position des scrollpanes? Progressivement l'augmenter?
Les gens, merci beaucoup. J'ai vraiment besoin d'aide ici
wow, revalidate a vraiment fait l'affaire: O merci 'comme'. C'est comme chercher une aiguille dans une botte de foin. Savez-vous comment faire avancer la barre de défilement si? – vondip
Pourquoi posez-vous une question à plusieurs sur ce sujet. Vous avez reçu la réponse dans vos autres messages, mais vous ne prenez jamais la peine de marquer les questions comme acceptées. Bien sûr, vous ne devriez jamais appeler setPreferredSize de la méthode paintComponent(). Et vous ne devriez pas appeler revalidate à partir de cette méthode non plus. Si vous posiez toutes vos questions ensemble, tout le monde saurait ce qui a été suggéré et nous ne perdrions pas de temps à faire les mêmes suggestions. Dans l'avenir, postez un SSCCE avec votre question. Si vous ne savez pas ce qu'est un SSCCE, alors cherchez sur le web. – camickr
@unknown: essayez de faire défiler l'élément dans un thread séparé, peut-être vous avez un scénario dans lequel vous définissez quelque chose alors que le processus de validation n'est pas encore terminé, et ce processus revient à 0. Pas sûr que cela aiderait .. –