Roswell_ | 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 :
- /* LA classe principale */
- import java.applet.Applet;
- import java.awt.*;
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseAdapter;
- import MyButton;
- public class test extends Applet
- {
- public void init()
- {
- Window win=new Window(new Frame("" ));
- win.addMouseListener(new MouseAdapter()
- {
- public void mouseEntered(MouseEvent e)
- {
- System.out.println("------- in Win ------\n" );
- }
- public void mouseExited(MouseEvent e)
- {
- System.out.println("------ exit Win-----\n" );
- }
- }
- );
- win.setSize(50, 50);
- win.setVisible(true);
- win.add(new Element("test" ));
- win.pack();
- win.setLocation(50, 10);
- }
- }
- /* Mon composant */
- import java.awt.*;
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseListener;
- import java.util.Vector;
- class Element extends Component implements MouseListener
- {
- int state,mode;
- String label;
- boolean hasBorder;
- FontMetrics fm;
- Font f;
- Color bg, fg,pushColor;
- int w,h;
- boolean border;
- int align;
- Vector lignes;
- static int maxLength = 160;
- /* Gestion des évenements */
- public void mouseEntered(MouseEvent e)
- {
- }
- public void mouseExited(MouseEvent e)
- {
- }
- public void mousePressed(MouseEvent e)
- {
- }
- public void mouseReleased(MouseEvent e)
- {
- }
- public void mouseClicked(MouseEvent e)
- {
- }
- protected void proceedMouse(MouseEvent e)
- {
- super.processMouseEvent( e);
- }
- /* Gestion des évenements fin*/
- public Element ()
- {
- this("",Color.black,null,null);
- }
- public Element (String label)
- {
- this(label,Color.black,null,null);
- }
- public Element (String label,Color fg)
- {
- this(label,fg,null,null);
- }
- public Element (String label,Color fg,Color bg)
- {
- this(label,fg,bg,null);
- }
- public Element (String label,Color fg,Color bg,Color push)
- {
- super();
- lignes=null;
- f = new Font("Verdana",Font.PLAIN,11);
- setFont(f);
- setText(label);
- addMouseListener(this);
- }
- void checkMouseAware ()
- {
- // we always want our processMouse to be called
- }
- public Dimension preferredSize()
- {
- return new Dimension( 50, 50);
- }
- public void setFont( Font f)
- {
- super.setFont( f);
- this.fm = getFontMetrics(f);
- }
- public void paint(Graphics g)
- {
- g.setColor(Color.black);
- g.drawString(getText(),15,25);
- }
- /* methodes poue la gestion des évennement*/
- protected void proceedMouseEvent(MouseEvent e)
- {
- super.processMouseEvent( e);
- }
- protected void processMouseEvent( MouseEvent e )
- {
- super.processMouseEvent( e);
- }
- /* methode de manipulation des données: DEBUT*/
- public void setText(String label)
- {
- this.label = label;
- }
- public String getText()
- {
- if(this.label==null)
- this.label=" ";
- return this.label;
- }
- public void setMaxLength(int i)
- {
- maxLength=i;
- }
- public int getMaxLength()
- {
- return maxLength;
- }
- }
|
Merci aux ames charitables |