Salut à tous !
Je suis en train de dév une interface en java et j'ai des soucis.
J'aimerais mettre des images les unes à la suites des autres sur une ligne et si ça dépasse qu'on puisse scroller.
J'ai donc découper ma fenetre principale en deux avec un gridlayout.
C'est dans le cadre du haut que je veux mes images.
J'ai donc mit un JScrollPane dans la partie du haut.
J'ai ajouté un JPanel à ce JScrollPane que j'ai découpé de novueau avec un gridLayout en 10 cases. Dans chacune de ces cases je met un JPanel qui contient une image.
Et ça ne marche pas...
Ca me réduit mes images pour rentrer dans la largeur de la fenêtre et ça scroll pas.
Je vous met les bouts de codes interessants.
Le scroll :
Puis les petits JPanel qui contiennent les images :
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 package gui; import javax.swing.JScrollPane; import javax.swing.JPanel; import java.awt.Image; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import java.awt.GridLayout; import java.awt.Dimension; public class PanneauTrain extends JScrollPane { private Image img; public PanneauTrain() { super(JScrollPane.VERTICAL_SCROLLBAR_NEVER, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); this.setPreferredSize(new Dimension(800, 800)); try { img = ImageIO.read(new File("img_test.gif")); } catch (IOException e) { // Faire qqch au cas où le fichier ne s'ouvre pas } JPanel pane = new JPanel(); pane.setSize(800,800); pane.setLayout(new GridLayout(1,10)); for(int i=1; i< 10; ++i) { pane.add(new PanneauVoiture(img)); } this.setViewportView(pane); } }
Voilà, en éspérant que vous puissez m'aider ! Merci beaucoup
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 package gui; import javax.swing.JPanel; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.Graphics; import java.awt.Image; import java.awt.Dimension; public class PanneauVoiture extends JPanel implements MouseListener { private Image img; public PanneauVoiture(Image img) { this.img = img; this.setMinimumSize(new Dimension(img.getWidth(this) , img.getHeight(this))); } public void paintComponent(Graphics g) { g.drawImage(img, 15, 15, this); } public void mouseClicked(MouseEvent event) { } public void mouseEntered(MouseEvent event) { } public void mouseExited(MouseEvent event) { } public void mousePressed(MouseEvent event) { } public void mouseReleased(MouseEvent event) { } }
Nicolas



Répondre avec citation






Partager