disposer des fenêtres en mosaïque verticale ou horizontale
1 réponse
Jean-Marie
bonjour
quelqu'un sait-il où je peux trouver un algorithme
(et pourquoi pas le programma java correspondant)
me permettant de disposer les fenêtres
de mon application en mosaïque verticale ou horizontale
public void mosaique(){ cascade = false; JInternalFrame [] lesFrames = getAllFrames(); // calcul du nombre de frame internes non icones nbInternalFrame = lesFrames.length; int n = nbInternalFrame; for( int i = 0 ; i < nbInternalFrame; ++i) if( lesFrames[i].isIcon()) --n; // bas permet de laissr de la place pour que les icones // soient visibles en bas de fenêtre int bas = 0; if( n != nbInternalFrame) bas = 30; // mise en mosaïque // calcul du nombre de colonnes if( n == 0) return; int nColonnes = (int)Math.sqrt(n), nLignes; if( n!=nColonnes*nColonnes)++nColonnes; // calcul du nombre de lignes if((n-1)/nColonnes+1<nColonnes) nLignes = nColonnes-1; else nLignes = nColonnes;
int dx = getWidth()/nColonnes; int dy = getHeight()/nLignes - bas;
int k = 0; for( int i = 0 ; i <nColonnes; ++i) for( int j = 0; j<nColonnes && k<n; ++j, ++k) lesFrames[i*nColonnes+j].setBounds(j*dx, i*dy, dx, dy);
}
bonjour
quelqu'un sait-il où je peux trouver un algorithme (et pourquoi pas le programma java correspondant) me permettant de disposer les fenêtres de mon application en mosaïque verticale ou horizontale
merci bien
Jean-marie
pas mal ; à adapter à ses besoins (mosaïque vert/hor)
si qn a mieux...
public void mosaique(){
cascade = false;
JInternalFrame [] lesFrames = getAllFrames();
// calcul du nombre de frame internes non icones
nbInternalFrame = lesFrames.length;
int n = nbInternalFrame;
for( int i = 0 ; i < nbInternalFrame; ++i)
if( lesFrames[i].isIcon()) --n;
// bas permet de laissr de la place pour que les icones
// soient visibles en bas de fenêtre
int bas = 0;
if( n != nbInternalFrame) bas = 30;
// mise en mosaïque
// calcul du nombre de colonnes
if( n == 0) return;
int nColonnes = (int)Math.sqrt(n), nLignes;
if( n!=nColonnes*nColonnes)++nColonnes;
// calcul du nombre de lignes
if((n-1)/nColonnes+1<nColonnes) nLignes = nColonnes-1;
else nLignes = nColonnes;
int dx = getWidth()/nColonnes;
int dy = getHeight()/nLignes - bas;
int k = 0;
for( int i = 0 ; i <nColonnes; ++i)
for( int j = 0; j<nColonnes && k<n; ++j, ++k)
lesFrames[i*nColonnes+j].setBounds(j*dx, i*dy, dx, dy);
}
bonjour
quelqu'un sait-il où je peux trouver un algorithme
(et pourquoi pas le programma java correspondant)
me permettant de disposer les fenêtres
de mon application en mosaïque verticale ou horizontale
public void mosaique(){ cascade = false; JInternalFrame [] lesFrames = getAllFrames(); // calcul du nombre de frame internes non icones nbInternalFrame = lesFrames.length; int n = nbInternalFrame; for( int i = 0 ; i < nbInternalFrame; ++i) if( lesFrames[i].isIcon()) --n; // bas permet de laissr de la place pour que les icones // soient visibles en bas de fenêtre int bas = 0; if( n != nbInternalFrame) bas = 30; // mise en mosaïque // calcul du nombre de colonnes if( n == 0) return; int nColonnes = (int)Math.sqrt(n), nLignes; if( n!=nColonnes*nColonnes)++nColonnes; // calcul du nombre de lignes if((n-1)/nColonnes+1<nColonnes) nLignes = nColonnes-1; else nLignes = nColonnes;
int dx = getWidth()/nColonnes; int dy = getHeight()/nLignes - bas;
int k = 0; for( int i = 0 ; i <nColonnes; ++i) for( int j = 0; j<nColonnes && k<n; ++j, ++k) lesFrames[i*nColonnes+j].setBounds(j*dx, i*dy, dx, dy);
}
bonjour
quelqu'un sait-il où je peux trouver un algorithme (et pourquoi pas le programma java correspondant) me permettant de disposer les fenêtres de mon application en mosaïque verticale ou horizontale