recuperer un JPanel et ses dessins
bonjour,
J'ai besoin d'une methode qui recupere tous les dessins d'un JPanel et qui l'associe a un JPanel. Autrement dit, jaimerais definir un JPanel qui récupere tous les dessins que j'ai fait sur un autre JPanel.
Une telle methode existe t'elle ?
Si vous n'avez pas compris voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10
| if(e.getSource() == AffEnt){
try {
CollectionEntite C = new CollectionEntite(this,FS2);
} catch (SQLException ex) {
ex.printStackTrace();
}
} |
FS2 étant mon JPanel et this un objet de type "agl"...
Code:
1 2 3 4 5 6 7 8
| JPanel Draw;
Agl a;
/** Creates a new instance of CollectionEntite */
public CollectionEntite(Agl a,JPanel p) throws SQLException {
//construction de la fenetre
this.a=a;
Draw=p;
......................... |
j'associe mes parametres ..
et lorsque je clique sur ok :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
if(e.getSource() == ok)
{
String nom=c.getSelectedItem();
int i= findIndexEnt(nom);
Entite E=List[i];
System.out.println(E);
E.setDraw(Draw);
E.setAgl(a);
E.paint();
this.dispose();
} |
List étant un tableau d'entité
Dans entite.java :
Code:
1 2 3 4
|
void setAgl(Agl a) {
this.a=a;
} |
et je dessine :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
public void paint(){
Graphics g=null;
g=Draw.getGraphics();
g.setColor(Color.WHITE);
g.fillRect(positionX+1,positionY+1,largeur-1,hauteur-1);
g.setColor(Color.BLACK);
g.drawRect(positionX,positionY,largeur,hauteur);
// BLA BLA BLA BLA BLA BLA
a.setPanel(Draw.getGraphics());
} |
le composant se dessine bien mais s'efface lorsque je reduit la fenetre ou la redimmessione donc j'ai fait appel a setPanel qui je pensait devait recuperé tous les dessin et les appliquer ainsi :
Code:
1 2 3
| void setPanel(Graphics graphics) {
FS2.update(graphics);
} |
mais le hic c'est que ca ne marche pas : pourtant j'ai bien redefinie la methode paint de mon JPanel en le passant en parametre :bug:
comment je fais pour que quand je redessinne la surface de FS2 il ne perde pas les modifications ?
merci