J'utilise Java Swing pour créer une interface graphique.Faire une image en suivant la taille du cadre
Je dois présenter à l'utilisateur certaines informations imprimées sur des images (qui sont générées au moment de l'exécution sous la forme BufferedImage
objets).
Ce que je fais: je mets un JPanel
sur mon JFrame
, et lorsque le système appelle la méthode paint(Graphics g)
je dessine l'image sur g
->(g.drawImage(buffImg,0,0,null))
.
La chose que je n'aime pas est: Lorsque je redimensionne le cadre, l'image reste la même, je développe seulement le champ de vision. Je voudrais plutôt faire "étirer" l'image avec le cadre quand je la redimensionne.
Existe-t-il un moyen efficace de le faire? (Je pensais pouvoir créer une nouvelle image redimensionnée, la taille du cadre, chaque fois que je rafraichis les graphiques, mais je met à jour l'image plusieurs fois par seconde, donc ce serait une tâche très lourde ..)
1) utilisation camelCase pour les attributs. 2) Pour la peinture personnalisée dans 'JPanel', remplacez' paintComponent() ', pour la peinture personnalisée dans' JFrame' ..juste pas. Utilisez un 'JComponent' ou' JPanel' 3) * "ce serait une tâche vraiment lourde" * Le profilage bat la spéculation. –
1) right: D 2) c'est ce que je fais, je dessine seulement sur le jpanel, mais comme le gui ne rafraîchit pas l'image quand je le mets à jour, je force la mise à jour comme ceci: 'g = panel.getGraphics() ; panel.paint (g); '... pas élégant mais fonctionne très bien: D – Pronte