Bonjour, mon probleme est simple (enfin si c'etait si simple que ca je ne serai pas la a demander comment faire ... disons qu'il est simple a exposer ^^ ... bref ) :
Comment mettre a jour l'affichage d'un jpanel ??? Et qu'on ne me renvoit pas vers la doc java: j'en viens.
J'ai essaye nombre de methode et je conviens que j'ai du mal a cerne l'utilisation de l'objet graphic: c'est surement la que le bas blesse.
En tout cas voici le code: (J'ai mis en commentaire nombre de methode essayees )
Edit:
Bon je suis juste un idiot fatigue ... faut que je pense a dormir avant de coder ^^
Merci d'avance pour votre aide !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65 public class GLViewer extends JFrame{ private Texts texts; private JList gamesList; private JPanel gameInfoPanel; private String[] libraryIndex; private GameLibrary library; private Game currentGame; private JMenuBar createMenuBar(){ // contient entre autre le code qui remplit la JList cf ci dessous } public GLViewer(){ super("GameLibrary"); texts=EnglishTexts.getInstance(); this.setJMenuBar(this.createMenuBar()); Dimension minimumSize = new Dimension(100, 50); gamesList=new JList(); gamesList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); gamesList.setMinimumSize(minimumSize); gamesList.addMouseListener( new MouseAdapter() { public void mouseClicked(MouseEvent e) { int index = gamesList.locationToIndex(e.getPoint()); currentGame=library.getGame(libraryIndex[index]); gameInfoPanel.removeAll(); gameInfoPanel.add(new GamePanel(texts, currentGame)); // GamePanel n'est qu'un JPanel contenant une VBox et des JLabel // petit test qui me permet de voir que la selection marche System.out.println(currentGame.getName()); // ici quelle methode dois je utiliser ??? // gameInfoPanel.update(gameInfoPanel.getGraphics()); ?? // gameInfoPanel.repaint(); ? // gameInfoPanel.paint(gameInfoPanel.getGraphics()); ? // gameInfoPanel.paintComponent(gameInfoPanel.getGraphics()); ?? gameInfoPanel.paintAll(gameInfoPanel.getGraphics()); } }); gameInfoPanel=new JPanel(); gameInfoPanel.setMinimumSize(minimumSize); JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, gamesList, gameInfoPanel); splitPane.setDividerLocation(200); this.getContentPane().add(splitPane, BorderLayout.CENTER); // Positionner la taille de la fenetre setSize(1024, 758); setResizable(true); // traiter le clic sur la croix setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); // rendre visible setVisible(true); } public static void main(String args[]){ new GLViewer(); } }
Partager