[java] gestion d'évenement (bug avec 1.1)

gestion d'évenement (bug avec 1.1) [java] - Programmation

Marsh Posté le 20-09-2001 à 21:22:34    

Bon, j'ai un p'tit bleme, je fais une applet en refaisant un composant, le pb c'est qu'en java 1.1 la window ne reçoit plus les évenements souris alors qu'en 1.2 cela fonction. J'ai essayer de simplifier au max pour voir d'ou cela vennait mais pour le moment je seche. Bon v'la l'exemple,(il reste des truc inutiles) :
 

Code :
  1. /* LA classe principale */
  2. import java.applet.Applet;
  3. import java.awt.*;
  4. import java.awt.event.MouseEvent;
  5. import java.awt.event.MouseAdapter;
  6. import MyButton;
  7. public class test extends Applet
  8. {
  9. public void init()
  10. {
  11.  Window win=new Window(new Frame("" ));
  12.  win.addMouseListener(new MouseAdapter()
  13.   {
  14.    public void mouseEntered(MouseEvent e)
  15.    {
  16.     System.out.println("------- in Win ------\n" );
  17.    }
  18.    public void mouseExited(MouseEvent e)
  19.    {
  20.     System.out.println("------ exit Win-----\n" );
  21.    }
  22.   }
  23.  );
  24.  win.setSize(50, 50);
  25.  win.setVisible(true);
  26.  win.add(new Element("test" ));
  27.  win.pack();
  28.  win.setLocation(50, 10);
  29. }
  30. }
  31. /* Mon composant */
  32. import java.awt.*;
  33. import java.awt.event.MouseEvent;
  34. import java.awt.event.MouseListener;
  35. import java.util.Vector;
  36. class Element extends Component implements MouseListener
  37. {
  38. int state,mode;
  39. String label;
  40. boolean hasBorder;
  41. FontMetrics fm;
  42. Font f;
  43. Color bg, fg,pushColor;
  44. int w,h;
  45. boolean border;
  46. int align;
  47. Vector lignes;
  48. static int maxLength = 160;
  49. /* Gestion des évenements */
  50. public void mouseEntered(MouseEvent e)
  51. {
  52. }
  53. public void mouseExited(MouseEvent e)
  54. {
  55. }
  56. public void mousePressed(MouseEvent e)
  57. {
  58. }
  59. public void mouseReleased(MouseEvent e)
  60. {
  61. }
  62. public void mouseClicked(MouseEvent e)
  63. {
  64. }
  65. protected void proceedMouse(MouseEvent e)
  66. {
  67.  super.processMouseEvent( e);
  68. }
  69. /* Gestion des évenements  fin*/
  70. public Element ()
  71. {
  72.  this("",Color.black,null,null);
  73. }
  74. public Element (String label)
  75. {
  76.  this(label,Color.black,null,null);
  77. }
  78. public Element (String label,Color fg)
  79. {
  80.  this(label,fg,null,null);
  81. }
  82. public Element (String label,Color fg,Color bg)
  83. {
  84.  this(label,fg,bg,null);
  85. }
  86. public Element (String label,Color fg,Color bg,Color push)
  87. {
  88.  super();
  89.  lignes=null;
  90.  f = new Font("Verdana",Font.PLAIN,11);
  91.  setFont(f);
  92.  setText(label);
  93.  addMouseListener(this);
  94. }
  95. void checkMouseAware ()
  96. {
  97.  // we always want our processMouse to be called
  98. }
  99. public Dimension preferredSize()
  100. {
  101.  return new Dimension( 50, 50);
  102. }
  103. public void setFont( Font f)
  104. {
  105.  super.setFont( f);
  106.  this.fm = getFontMetrics(f);
  107. }
  108. public void paint(Graphics g)
  109. {
  110.  g.setColor(Color.black);
  111.  g.drawString(getText(),15,25);
  112. }
  113. /* methodes poue la gestion des évennement*/
  114. protected void proceedMouseEvent(MouseEvent e)
  115. {
  116.  super.processMouseEvent( e);
  117. }
  118. protected void processMouseEvent( MouseEvent e )
  119. {
  120.  super.processMouseEvent( e);
  121. }
  122. /* methode de manipulation des données: DEBUT*/
  123. public void setText(String label)
  124. {
  125.  this.label = label;
  126. }
  127. public String getText()
  128. {
  129.  if(this.label==null)
  130.   this.label=" ";
  131.  return this.label;
  132. }
  133. public void setMaxLength(int i)
  134. {
  135.  maxLength=i;
  136. }
  137. public int getMaxLength()
  138. {
  139.  return maxLength;
  140. }
  141. }


 
Merci aux ames charitables

Reply

Marsh Posté le 20-09-2001 à 21:22:34   

Reply

Marsh Posté le 21-09-2001 à 16:31:11    

Pourquoi personne regarde mes messages?

Reply

Marsh Posté le 21-09-2001 à 16:50:20    

Le plus simple pour toi c'est d'aller voir sur le site officiel java.sun.com comment les évènements sont gérés dans les différentes versions. Si ca se fait c'est simplement un bug qui fait que ca ne fonctionne pas ...
 
A+,
 
Stéphane


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 22-09-2001 à 16:23:05    

Ben, il y a en effet des bug qui y ressemblent ( http://developer.java.sun.com/deve [...] 65565.html ), mais les solutions sont pas évidentes. Il y en a une qui consite à mettre un hgap et vgap dans le layout de la Window, mais apres mon interface est toute moche.
Pas d'idées ?

Reply

Marsh Posté le 24-09-2001 à 13:16:23    

Roswell_ a écrit a écrit :

Ben, il y a en effet des bug qui y ressemblent ( http://developer.java.sun.com/deve [...] 65565.html ), mais les solutions sont pas évidentes. Il y en a une qui consite à mettre un hgap et vgap dans le layout de la Window, mais apres mon interface est toute moche.
Pas d'idées ?  




 
Non aucune. Dans ce genre de problème, le plus simple est de passer par le forum de sun (forum.java.sun.com) où tu peux exposer ton probleme. Vu que c'est en 1.1, le bug doit etre connu par les seniors et ils devraient probablement pouvoir t'aider.
 
Stéphane


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 24-09-2001 à 20:12:44    

C'est réglé, mais j'ai quand même bien compliquer le systeme, c'est reloud.

Reply

Sujets relatifs:

Leave a Replay

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