Scrollbar

cs_seb87 Messages postés 37 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 6 septembre 2004 - 10 juin 2004 à 10:14
cs_seb87 Messages postés 37 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 6 septembre 2004 - 11 juin 2004 à 10:18
Ben voila avec l'aide de safisoft j'ai simplifié la classe qui permet de gerer l'affichage d'une image et l'ajout d'element graphique sur celle ci.

Or maintenant, quand l'image est plus grande que la zone d'affichage je n'ai plus les scrollbar ( c'est dommage c'est la premiere chose que j'avais ecrite et qui marché lol)

donc j'ai adapté le code, j'ai essayé plein de truc mais ca marche pas

/// ceration du Jpanel qui gere l'image

public JPanel addPlan ()
{

PlanPanel.setLayout(new BorderLayout(5,5));
plan = new ImageIcon(this.ImgPath,this.ImgDesc);
JPanel ContImg = new ImageScroller2(this.ImgPath, plan);
JScrollPane Scroll = new JScrollPane(ContImg);
PlanPanel.add(Scroll,BorderLayout.CENTER);

PlanPanel.add(ContImg,BorderLayout.CENTER);

return PlanPanel;
}



// Class qui gére l'affichage

<td class=code>

package com.hicef.ctrlVisClt;
import javax.swing.*;

import java.awt.*;
import java.awt.event.*;
import java.util.*;

class ImageScroller2 extends JPanel implements MouseListener
{ Image arrPlan;

Vector points;
int i = 0;

ImageScroller2(String chemin, ImageIcon Plan){

super();
Toolkit tk=Toolkit.getDefaultToolkit();
arrPlan=tk.getImage(chemin);

points=new Vector();
addMouseListener(this);

}

public void paint(Graphics g){
System.out.println(\"passage\" + i);
i++;
//super.paint(g);

g.setColor(new Color(255,102,51));

g.drawImage(arrPlan,10,10,this);
for(int i=0;i

4 réponses

safisoft Messages postés 489 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 13 mai 2009 6
10 juin 2004 à 12:12
t'as qu'à fixer la tail de ton tableau de dessin aux dimensions de ton image par contImg.setPreferedSize(new Dimension(x,y)); avec x et y à récuperer de arrPlan.

d'ailleur toute ta première méthode pe être remplacee par :
ImageScroller2 p=new ImageScroller2(chemin);
getContentPane.add("Center",new JScrollPane(p));
0
cs_seb87 Messages postés 37 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 6 septembre 2004
10 juin 2004 à 13:54
je change la taille apres lla creation du panel ?

> JPanel ContImg new ImageScroller2(this.ImgPath, plan);

ContImg.setPreferedSize(new Dimension(plan.getIconWidth() ,plan.getIconHeight() ));

par contre la methode est inconnue pour contimg ??

escuse moi si mes questions te paraisses bete :(
0
cs_seb87 Messages postés 37 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 6 septembre 2004
10 juin 2004 à 16:36
en suivant la javadoc et ce que l'on m'a dit plus haut j'ai fait ca mais ca marche pas mieux.
Quelqu'un a une idée ?

public JPanel addPlan ()
{
PlanPanel.setLayout(new BorderLayout(5,5));
plan = new ImageIcon(this.ImgPath,this.ImgDesc);
JPanel ContImg = new ImageScroller2(this.ImgPath, plan);

JScrollPane Scroll = new JScrollPane(ContImg);

Scroll.setPreferredSize( new Dimension(plan.getIconWidth()  ,plan.getIconHeight() ));
Scroll.setBackground( new Color(186,208,155));
PlanPanel.add(Scroll,BorderLayout.CENTER);

return PlanPanel;
}
0
cs_seb87 Messages postés 37 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 6 septembre 2004
11 juin 2004 à 10:18
j'ai resolu mon probleme en faisaant ca


PlanPanel.setLayout(new BorderLayout(5,5));

PlanPanel.setMinimumSize(new Dimension(200, 200));
PlanPanel.setMaximumSize(new Dimension(200, 200));
PlanPanel.setPreferredSize(new Dimension(200, 200)); 

plan = new ImageIcon(this.ImgPath,this.ImgDesc);

ImageScroller2 ContImg = new ImageScroller2(this.ImgPath, plan);

JScrollPane Scroll = new JScrollPane(ContImg);

Scroll.setPreferredSize(new Dimension(plan.getIconWidth()  ,plan.getIconHeight() ));
Scroll.setBackground(new Color(186,208,155));

PlanPanel.add(new JScrollPane(Scroll),BorderLayout.CENTER);



merci encore
0
Rejoignez-nous