Projet gus05 de développement Java
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -28%
Brandt LVE127J – Lave-vaisselle encastrable 12 ...
Voir le deal
279.99 €

Astuce pour utiliser un fichier CUR comme curseur

2 participants

Aller en bas

Astuce pour utiliser un fichier CUR comme curseur Empty Astuce pour utiliser un fichier CUR comme curseur

Message  Gus Dim 24 Avr - 12:42

Les fichiers CUR (format Windows pour les curseurs) sont relativement semblables aux fichiers ICO (format Windows pour les icônes). Dans un cas comme dans l'autre, une astuce pour lire l'image du fichier en Java consiste à utiliser la représentation icône du fichier renvoyée par Windows.

Icon icon = FileSystemView.getFileSystemView().getSystemIcon(file);

Une fois qu'on a l'icône, on la transforme en objet Image grâce à la méthode :

Code:
private Image iconToImage(Icon icon)   

      if(icon instanceof ImageIcon) return ((ImageIcon)icon).getImage();
      BufferedImage image = new BufferedImage(icon.getIconWidth(),icon.getIconHeight(),BufferedImage.TYPE_INT_RGB);
      icon.paintIcon(null,image.getGraphics(),0,0);
      return image;
}

Enfin, on utilise la méthode createCustomCursor du Toolkit comme ceci :

Cursor cursor = Toolkit.getDefaultToolkit().createCustomCursor(image,new Point(0,0),"X");

Le tour est joué ! Bon, il reste juste un petit soucis avec le dimensionnement du curseur, que je trouve un peu gros.
Si vous avez des idées, n'hésitez pas !



Dernière édition par Gus le Lun 25 Avr - 15:23, édité 1 fois
Gus
Gus
Admin

Messages : 249
Date d'inscription : 01/09/2009

http://www.gus05.com

Revenir en haut Aller en bas

Astuce pour utiliser un fichier CUR comme curseur Empty Re: Astuce pour utiliser un fichier CUR comme curseur

Message  william44290 Lun 25 Avr - 15:21

j'utilise ce code pour mes images :
Code:
      public Icon ImageIcon(Image img,int coef){
                Icon icon=null;
                if (img!=null){
                        Image tmpIm=img.getScaledInstance(Gp.HEIGHTCHAR*coef,Gp.HEIGHTCHAR*coef,Image.SCALE_AREA_AVERAGING);
                        if (tmpIm!=null){
                                icon=new ImageIcon(tmpIm);
                        }
                        img=null;
                        tmpIm=null;
                }
                return icon;
        }
}

william44290

Messages : 6
Date d'inscription : 23/10/2009

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum