KEYLISTENER into JSCROLLPANE don4T running with FIREFOX3

phil89 <[email protected]> Sat, 5 Jul 2008 11:30:12 -0700 (PDT)
Newsgroups gmane.comp.mozilla.devel.java
Organization http://groups.google.com
Message-ID <f385568c-5a40-4c3c-82b6-c4ce03524a35@c58g2000hsc.googlegroups.com>
Hi,

It seems me keylistener don't running on FIREFOX3 into JSCROLLPANE ?

Regards
Philippe

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


public class EssaiAscenseur6 extends JApplet {
  public void init() {
    try {
      DrawPanel dp = new DrawPanel();
      dp.setBorder(BorderFactory.createEmptyBorder(0,0,0,0));
      dp.jbInit();
      add( new JScrollPane(dp) );


    } catch (Exception e) {
      e.printStackTrace();
    }
  }


  public static void main (String[] args) throws Exception {
    JFrame frame = new JFrame("Drawing Frame" );
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    DrawPanel dp = new DrawPanel();
    dp.jbInit();
    frame.add(new JScrollPane(dp), BorderLayout.CENTER);
    frame.pack();
    frame.setSize(400, 400);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
  }



}


class DrawPanel extends JPanel implements
  AdjustmentListener,
  MouseListener,
  KeyListener,
  ComponentListener {

  Color couleur=Color.magenta;


  int decalageH=0;
  int decalageV=0;
  int largeurFenetre=300;
  int hauteurFenetre=200;
  Vector memoire=new Vector();


  void jbInit() throws Exception {
    setFocusable(true); //pour les touches OK pour IE, mais pas pour
MOZILLA
    //setPreferredSize( new Dimension(500,500) );
    setPreferredSize( new Dimension(2500,2500) ); //pour voir les
scrollBar
    addMouseListener(this);
    addKeyListener(this);
    addComponentListener(this);
    setLayout(new BorderLayout());
  }


  // Pour gerer le Decalage
  public void adjustmentValueChanged(AdjustmentEvent evt) {
    repaint();
  }


  public void mousePressed(MouseEvent evt) {
    int x=evt.getX(),y=evt.getY();
    CercleSitue c=new CercleSitue(
      10,
      x+decalageH,
      y+decalageV);
    memoire.addElement(c);
    repaint();
  }
  public void mouseReleased(MouseEvent evt){}
  public void mouseEntered(MouseEvent evt){}
  public void mouseExited(MouseEvent evt){}
  public void mouseClicked(MouseEvent evt) {}


  public void keyTyped(KeyEvent evt) {}
  public void keyReleased(KeyEvent evt) {}
  public void keyPressed(KeyEvent evt) {
   System.out.println("KEY PRESSED");
  }


  public void componentResized(ComponentEvent e) {
    Dimension d = Toolkit.
      getDefaultToolkit().
      getScreenSize();
    System.out.println("ddd screen height="+
      d.getHeight()+
      "screenwidth="+
      d.getWidth());
  }


  public void componentHidden(ComponentEvent e) {}


  public void componentShown(ComponentEvent e) {}


  public void componentMoved(ComponentEvent e) {}


  /** paintComponent for Swing (other than JApplet) components. */
  public void paintComponent(Graphics g) {
    g.setColor( Color.GREEN );
    g.fillRect(0,0,getWidth(), getHeight() );
    g.setColor( couleur );
    Enumeration lesCercles=memoire.elements();
    CercleSitue c;


    while(lesCercles.hasMoreElements())
    {
      c=(CercleSitue)lesCercles.nextElement();
      g.fillOval(c.x-20-decalageH,c.y-20-decalageV,40,40);
    }
  }


  public class CercleSitue {
    int rayon, x, y;


    public CercleSitue(int rayon,int x,int y) {
      this.rayon=rayon;
      this.x=x;
      this.y=y;
    }
  }


}