Scrollbar

Scrollbar - Java - Programmation

Marsh Posté le 14-09-2005 à 21:00:06    

Salut à tous  :)  
je suis débutant en java (5 mois de combat) ;)
Je souhaite afficher une image avec Java. La surface représentant l'image étant assez grande, il me faut intégrer des barres de défilement à droite et à la base du conteneur. J'ai pu les intégrer mais je n'ai pas le curseur pour pourvoir défiler en bas et à droite.
Voici mon code :
 

Code :
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4. class ImagePanel extends JPanel  {
  5. public ImagePanel() {
  6.   image = Toolkit.getDefaultToolkit().getImage("pg1.png" );
  7.   MediaTracker tracker = new MediaTracker(this);
  8.   tracker.addImage(image,0);
  9.   try { tracker.waitForID(0); }
  10.   catch (InterruptedException e) {}
  11. }
  12. public void paintComponent (Graphics g) {
  13.   super.paintComponent(g);
  14.   Dimension d = getSize();
  15.   int clientWidth = d.width;
  16.   int clientHeight = d.height;
  17.   int imageWidth = image.getWidth(this);
  18.   int imageHeight = image.getHeight(this);
  19.   g.drawImage(image,0,0,this);
  20. }
  21. private Image image;
  22. }
  23. class ImageFrame extends JFrame {
  24. public ImageFrame() {
  25.   setTitle("Angles d'Euler pour un système cartésien" );
  26.      setSize(800,800);
  27.   Component composantVisualisé = new ImagePanel();
  28.   JScrollPane sp = new JScrollPane(composantVisualisé,ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
  29.   addWindowListener(new WindowAdapter() {
  30.    public void windowClosing(WindowEvent e) {
  31.     System.exit(0);
  32.    }
  33.   });
  34.      Container contentPane = getContentPane();
  35.      contentPane.add(new ImagePanel());
  36.  
  37.   contentPane.setVisible(true);
  38.   contentPane.add(sp,"Center" );
  39. }
  40. }
  41. public class ImageTest {
  42. public static void main (String[] args) {
  43.   JFrame frame = new ImageFrame();
  44.   frame.show();
  45. }
  46. }


Merci beaucoup pour votre aide ...  
++  :hello:  

Reply

Marsh Posté le 14-09-2005 à 21:00:06   

Reply

Marsh Posté le 15-09-2005 à 11:23:04    

As-tu essayé d'affecter les JScrollBar de ton choix ( avec ton propre BoundeRangeModel ) à ton JScrollPane ?


Message édité par Profil supprimé le 15-09-2005 à 11:23:38
Reply

Marsh Posté le 15-09-2005 à 12:07:21    

Heu, une autre piste peut-être : ton image n'est-elle pas plus petite que ton panel, ce qui ferait que les scrollbars ne serviraients à rien ( donc pas de curseur ) mais sont cependant affichées grace à ScrollPaneConstants.xxxxxxxxx_SCROLLBAR_ALWAYS ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed