Redimensionner une JFrame avec valeur limite
Bon j'avais posé ma question dans un autre post mais je préfère reposé la question dans un nouveau post.
Donc puisque il n'est pas possible de limité la taille d'une JFrame, j'ai créer ma propre méthode.
Je n'ai en fait permis le redimensionnement qu'à partir du coin inférieur droit. J'ai donc fait setResizeable(false) et rajouté un MouseMotionListener qui me permet de detecté lorsque la souris est dans le coin et si je fais un drag à partir de là, je fais un apel a setSize().
La méthode fonctionne bien. Elle redimensionne bien et rapidement la fenêtre. Seul hic, il y a un effet de scintillement (clipping?) sur l'ensemble des composants de la fenetre(image, JButon, JTextArea...).
Je ne sais pas comment l'enlever.
Le probleme vient du fait qu'il redessine les composants à chaque apel de setSize(). Si je ne rajoute pas
ComponentAdapter cl =
new ComponentAdapter (){
public void componentHidden(ComponentEvent e){}
public void componentMoved(ComponentEvent e){}
public void componentResized(ComponentEvent e){}
public void componentShown(ComponentEvent e){}
};
addComponentListener(cl);
dans ma JFrame, il ne redessine jamais les composants.
Redimensionner une JFrame avec valeur limite
Salut,
pour donner un redimentionement maxi il existe la methode setMaximizedBounds(Rectangle rec) de la classe Frame et naturellement disponible avec les JFrame
mais le hic c'est quelle ne concerne pas la taille mini de la fenetre donc a voir ....
sinon pour ton problème de scintillement tu pourrais redefinir la methode update de ta frame exemple :
private Image offScreenImage = null;
....
public void update(Graphics g) {
if (offScreenImage == null)
offScreenImage = createImage(getWidth(), getHeight());
Graphics offGr = offScreenImage.getGraphics();
paint(offGr);
g.drawImage(offScreenImage, 0, 0, this);
}