Déplacer une JInternalFrame en gardant l'image de fond
Slyken
Messages postés24Date d'inscriptionmardi 17 avril 2007StatutMembreDernière intervention11 mars 2010
-
11 juin 2008 à 16:46
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 2013
-
12 juin 2008 à 14:21
Bonjour,
j'ai créé une JFrame qui contient une JMenuBar, avec laquelle on lance une JInternalFrame. Tout marche parfaitement, mais le seul problème est lorsque j'ajoute une image de fond à la JFrame. Si je lance la JInternalFrame et que je le déplace, cela "efface" l'image de fond.
Comment faire pour que mon image soit incrustée dans ma JFrame ?
Merci.
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 12 juin 2008 à 11:22
Salut:
Tout dépend de la façon avec laquelle tu as procéder pour mettre une image comme arrière-plan de ton JFrame.
Normalement, si tu as redéfinis la méthode paintComponent (ou bien paint()) tu n'aurais pas ce genre de problème.
Montre nous le bout de code qui ajoute l'image au fond du JFrame.
pourquoi utiliser paintxxxxx pour
une image de fond ? il te suffit simplement de mettre l'image dans un
JLabel et de le placer en guise de contentpane sur la fenêtre
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 12 juin 2008 à 13:17
Salut:
Twinuts >> Si on utilise un composant JLabel pour afficher une image par la suite on n'a plus la possibilté d'ajouter des composants au contentpane de la fenêtre.
C'est mieux d'avoir l'effet [Watermarks] en plus de composants.
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 12 juin 2008 à 13:37
Salut,
"Si on utilise un composant JLabel pour afficher une image par la suite
on n'a plus la possibilté d'ajouter des composants au contentpane de la
fenêtre."
>>C'est archi faux, en SWING tu peux ajouter des composants dans des composants exemple:
private static final long serialVersionUID = 1802199483736051124L;
public Test() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(800, 600);
setLocationRelativeTo(null);
final JLabel contentPane = new JLabel();
contentPane.setLayout(new FlowLayout());
setContentPane(contentPane);
for (int i = 0; i < 10; ++i) {
if ((i % 2) == 0)
// ajout d'un simple bouton
getContentPane().add(new JButton("JButton " + (i + 1)));
else {
// ajout d'un bouton contenant un JTextField
final JButton bt = new JButton("JButton " + (i + 1));
bt.add(new JTextField("JTextField " + (i + 1)));
getContentPane().add(bt);
}
}
}
public static void main(final String[] args) {
new Test().setVisible(true);
}
}
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
OoWORAoO
Vous n’avez pas trouvé la réponse que vous recherchez ?
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 12 juin 2008 à 14:21