Mon interface graphique ne s'actualise pas
Fermé
ridou93
Messages postés
8
Date d'inscription
mardi 7 mai 2013
Statut
Membre
Dernière intervention
11 mai 2013
-
7 mai 2013 à 15:51
ridou93 Messages postés 8 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 11 mai 2013 - 8 mai 2013 à 16:28
ridou93 Messages postés 8 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 11 mai 2013 - 8 mai 2013 à 16:28
A voir également:
- Mon interface graphique ne s'actualise pas
- Changer carte graphique - Guide
- Common interface samsung ✓ - Forum TV & Vidéo
- Graphique excel - Guide
- Dans ce fichier, réalisez le graphique xy (nuage de points ou dispersion), avec les x en abscisse. dans le graphique, les points dessinent un nombre. lequel ? - Forum Bureautique
- Graphique sparkline - Guide
2 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
7 mai 2013 à 19:33
7 mai 2013 à 19:33
Il faudrait voir un peu ton code pour t'aider précisément.
Ce qui peux se passer c'est que tu gères un évenement (avec des Listener), un affichage (avec paint ou repaint) ou n'importe quelle autre méthode "bloquante" (dont la fin est nécessaire pour que la fenêtre s'actualise) mais tu y fais des opérations longues (par exemple tout le jeu est dans une méthode comme ça), du coup la méthode ne se termine qu'à la fin du jeu et l'affichage peut enfin être actualisé.
Ce que tu dois faire (si c'est ça le problème), c'est t'arranger pour que les méthodes "bloquantes" se terminent bien aussi vite que possible, afin que l'affichage puisse être réalisé régulièrement.
Ce qui peux se passer c'est que tu gères un évenement (avec des Listener), un affichage (avec paint ou repaint) ou n'importe quelle autre méthode "bloquante" (dont la fin est nécessaire pour que la fenêtre s'actualise) mais tu y fais des opérations longues (par exemple tout le jeu est dans une méthode comme ça), du coup la méthode ne se termine qu'à la fin du jeu et l'affichage peut enfin être actualisé.
Ce que tu dois faire (si c'est ça le problème), c'est t'arranger pour que les méthodes "bloquantes" se terminent bien aussi vite que possible, afin que l'affichage puisse être réalisé régulièrement.
ridou93
Messages postés
8
Date d'inscription
mardi 7 mai 2013
Statut
Membre
Dernière intervention
11 mai 2013
8 mai 2013 à 16:28
8 mai 2013 à 16:28
J'ai trouvé, je devrais mettre des update à la fin de chaque de tour par rapport aux composants qui sont modifiés.
Maintenant il se pose le problème que, le changement se fait, mais il ne respecte pas la forme que je lui est donné (police, taille, couleur..)
j'ai tenté qqch, mais ça ne donne rien de plus, voici le bout de code que j'ai tenté:
public class UpdateFenetre {
Dimension dimension = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
int height = (int) dimension.getHeight();
int width = (int) dimension.getWidth();
int hauteurBande = 85;
int hauteurDegrade = 50;
int largeurCurseur = 15;
int bordureTitres = 40;
int bordure = 3;
public void update(Fenetre f){
//Pour actualiser le nombre de tour
f.getTour().setBounds(new Rectangle(30, 10, 100, 45));
Font police = new Font("Arial", Font.BOLD, 60);//choix de la police d'écriture
f.getTour().setFont(police);//appliquer la police
f.getTour().setForeground(Color.BLACK);
f.update(f.getTour().getGraphics());
//Pour actualiser l'indice du soleil
f.getTauxSoleil().setBounds(new Rectangle(2 * (width / 3) + 2 * bordure + 50, hauteurBande + 2 * bordureTitres + 25, 70, 20));
Font police4 = new Font("Arial", Font.BOLD, 20);//choix de la police d'écriture
f.getTauxSoleil().setFont(police4);
f.getTauxSoleil().setForeground(Color.WHITE);
f.update(f.getTauxSoleil().getGraphics());
}
}
j'ai essayé de mettre les uptades avant et après, mais ça ne change rien.. le programme ne respecte pas ma mise en forme :s
Maintenant il se pose le problème que, le changement se fait, mais il ne respecte pas la forme que je lui est donné (police, taille, couleur..)
j'ai tenté qqch, mais ça ne donne rien de plus, voici le bout de code que j'ai tenté:
public class UpdateFenetre {
Dimension dimension = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
int height = (int) dimension.getHeight();
int width = (int) dimension.getWidth();
int hauteurBande = 85;
int hauteurDegrade = 50;
int largeurCurseur = 15;
int bordureTitres = 40;
int bordure = 3;
public void update(Fenetre f){
//Pour actualiser le nombre de tour
f.getTour().setBounds(new Rectangle(30, 10, 100, 45));
Font police = new Font("Arial", Font.BOLD, 60);//choix de la police d'écriture
f.getTour().setFont(police);//appliquer la police
f.getTour().setForeground(Color.BLACK);
f.update(f.getTour().getGraphics());
//Pour actualiser l'indice du soleil
f.getTauxSoleil().setBounds(new Rectangle(2 * (width / 3) + 2 * bordure + 50, hauteurBande + 2 * bordureTitres + 25, 70, 20));
Font police4 = new Font("Arial", Font.BOLD, 20);//choix de la police d'écriture
f.getTauxSoleil().setFont(police4);
f.getTauxSoleil().setForeground(Color.WHITE);
f.update(f.getTauxSoleil().getGraphics());
}
}
j'ai essayé de mettre les uptades avant et après, mais ça ne change rien.. le programme ne respecte pas ma mise en forme :s