IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

convertir applet, awt, mediatracker dans jre23


Sujet :

avec Java

  1. #1
    Membre � l'essai
    Homme Profil pro
    ch�mage
    Inscrit en
    Avril 2025
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comt�)

    Informations professionnelles :
    Activit� : ch�mage
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2025
    Messages : 4
    Par d�faut convertir applet, awt, mediatracker dans jre23
    hello, je voulais lancer un ancien projet apr�s avoir install� le dernier eclipse et je comprends que applet et consorts sont d�suets, qu'il faudrait que je change la librairie mais je pr�f�re me faire un petit exercice de MAJ
    Existe-t-il un tuto me permettant de faire cette d�marche?
    J'utilisais les applet pour rapidement afficher dans une fen�tre graphique, vous avez un tuto pour d�butant pour obtenir le m�me r�sultat?

    Au besoin, j'ai donc besoin de remplacer
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    import java.awt.*;
    import javax.imageio.ImageIO;
    public class go extends Frame implements Runnable
    PixelGrabber Px;
    Graphics gr;
    Image I;
    MediaTracker myTracker=new MediaTracker(this);
    Font F = new Font("TimesRoman",1,14);

  2. #2
    Membre � l'essai
    Homme Profil pro
    ch�mage
    Inscrit en
    Avril 2025
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comt�)

    Informations professionnelles :
    Activit� : ch�mage
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2025
    Messages : 4
    Par d�faut
    import javax.swing.*;
    retourne une erreur aussi. Ben dites donc, c'est la guerre aux librairies graphiques?

  3. #3
    Mod�rateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Ao�t 2006
    Messages
    4 103
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activit� : R&D - Palefrenier programmeur
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 4 103
    Par d�faut
    Salut,

    Il faudrait peut �tre mettre un code un peu plus complet et utiliser la balise code.

    Mais le 'import javax.swing.*' ne devrait pas en th�orie poser de probl�mes jusque la. (apres "un erreur" c'est un peu vague
    (Les "�a ne marche pas", m�me �crits sans faute(s), vous porteront discr�dit ad vitam �ternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre � l'essai
    Homme Profil pro
    ch�mage
    Inscrit en
    Avril 2025
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comt�)

    Informations professionnelles :
    Activit� : ch�mage
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2025
    Messages : 4
    Par d�faut
    la structure du .java principal est la suivante, classique
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    package attraction;
     
    import java.applet.*;
    import java.awt.*;
    import java.lang.Math;
     
    import javax.imageio.ImageIO;
    import java.io.IOException;
    import java.util.HashMap;
    import java.io.File;
     
    public class go extends Applet implements Runnable
    {
    PixelGrabber Px;
    Graphics gr;
    Image Imagecachée;
    MediaTracker myTracker=new MediaTracker(this);
    Font F = new Font("TimesRoman",1,14);
     
    public void init()
    {
    largeurEcran = 400;
    hauteurEcran = 400;
    setBackground(Color.WHITE);
    Imagecachée = createImage(largeurEcran,hauteurEcran);
    gr = Imagecachée.getGraphics();
    }
     
    public void run(){}
     
    public void paint(Graphics g)
    {
    	gr.clearRect(0,0,largeurEcran,hauteurEcran);
     
    //opérations graphiques, affichées dans la fenêtre
     
    	g.clearRect(0,0,largeurEcran,hauteurEcran);
    	g.drawImage(Imagecachée,0,0,this);
    }
    }
    �a me retourne, avec le jre1.8
    Erreur : impossible de trouver ou de charger la classe principale sun.applet.AppletViewer
    Caus� par : java.lang.ClassNotFoundException: sun.applet.AppletViewer

    avec le jre23, si je lance un programme vide avec import javax.swing.*; ou import java.awt.*;, pas de compilation possible, ces package sont 'inaccessibles'

  5. #5
    Mod�rateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 585
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 585
    Par d�faut
    Oui d'accord mais avant tu parlais de Frame, maintenant tu parles d'Applet... 'Faudrait peut-�tre se concentrer sur un truc, l�.

    En l'occurrence les applets c'est bien fini alors ce serait un peu trop chercher la difficult�... Mais tu pourrais faire un simple JFrame comme il en existe encore des exemples. L� le jdk/jre 1.8 n'aura rien � redire... M�me si �a commence � faire vieux.

    Pour utiliser awt/swing dans les versions de Java r�centes, il faut d�marrer le programme en sp�cifiant l'utilisation du module java.desktop. En gros il faut ajouter cette option dans la ligne de commande :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    java --add-modules java.desktop la.classe.de.depart
    Ou alors si tu te le sens, apprendre � faire que ton propre programme soit un module, et d�clarer qu'il a besoin de java.desktop
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Mod�rateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Ao�t 2006
    Messages
    4 103
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activit� : R&D - Palefrenier programmeur
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 4 103
    Par d�faut
    Pour completer un peu ce que Thelvin disait.

    En effet, si tu cr�es un projet java sous eclipse comme j'ai pu comprendre le truc ne fonctionnera pas tel quel. (hors projet maven qui va bien d�s le d�part et que je te conseil)

    Si tu veux que �a marche alors tu dois editer ton fichier module-info et y ajouter un requires java.desktop; comme dits pr�c�demment de mani�re un peu plus sibylline par Thelvin.

    Mais Eclipse peut aussi le faire comme ceci automatiquement aussi si tu ne t'en sorts pas (merci les modules :

    Nom : PNG.png
Affichages : 97
Taille : 92,5 Ko

    Et normalement apr�s tu pourrais facilement faire ceci :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    package attraction;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.image.BufferedImage;
     
    public class Go extends JPanel implements Runnable {
        private BufferedImage Imagecachee;
        private Graphics gr;
        private int largeurEcran = 400;
        private int hauteurEcran = 400;
        private Thread animator;
     
        public Go() {
            setPreferredSize(new Dimension(largeurEcran, hauteurEcran));
            setBackground(Color.WHITE);
            Imagecachee = new BufferedImage(largeurEcran, hauteurEcran, BufferedImage.TYPE_INT_RGB);
            gr = Imagecachee.getGraphics();
        }
     
        public void addNotify() {
            super.addNotify();
        }
     
     
        @Override
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
            gr.clearRect(0, 0, largeurEcran, hauteurEcran);
            g.drawImage(Imagecachee, 0, 0, this);
        }
     
        public static void main(String[] args) {
            JFrame frame = new JFrame("Go Applet");
            Go go = new Go();
            frame.add(go);
            frame.pack();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setVisible(true);
        }
     
    	@Override
    	public void run() {
    		// TODO ???
    	}
    }
    (Les "�a ne marche pas", m�me �crits sans faute(s), vous porteront discr�dit ad vitam �ternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    R�dacteur/Mod�rateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Ao�t 2005
    Messages
    6 913
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : Nouvelle-Cal�donie

    Informations professionnelles :
    Activit� : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 6 913
    Billets dans le blog
    54
    Par d�faut
    Le principal soucis a portage du code n'est sans doute effectivement pas le retrait de Applet mais plut�t les 10+ ann�es de changement et de nouvelle fonctionnalit�s qui s�parent le JDK 8 et le JDK 23 et les IDE actuelles avec entres autres la modularisation et de nouvelles pratiques de d�veloppement (Maven, Gradle - enfin du moins pour ceux chez qui ca marche OK).

    Pour le reste, Eclipse reste Eclipse, certaines choses sont plus faciles a mettre en place, ou intuitives et moins prises de t�te dans les IDE concurrentes mais moins r�pandues (IDEA, NetBeans).

    Si ton projet est non-modulaire (il n'existe pas de fichier module-info.java a la racine de tes sources) : c'est sens� fonctionn� directement (Swing est trouv� directement)

    Si ton projet est modulaire (il existe un fichier module-info.java a la racine de tes sources) : il te faut �diter ce fichier et rajouter une ligne indiquant que tu as besoin du module java.desktop, par exemple :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    module swingtest {
    	requires java.desktop;
    	exports test.hello;
    }
    Ici la directive exports permet l�acc�s au package contenant ma classe de lancement de l'application.

    EDIT - quelques pr�cisions suppl�mentaires :
    * BufferedImage.TYPE_INT_RGB permet de cr�er des images opaques (sans partie transparente ou translucide).
    * BufferedImage.TYPE_INT_ARGB (au lieu de BufferedImage.TYPE_INT_RGB) permet de cr�er des images transparentes (avec des parties transparentes ou translucides).
    * gr.clearRect(0, 0, largeurEcran, hauteurEcran); a tendance a dessiner un gros pat� noir. Il peut donc �tre int�ressant de faire a la place ou apr�s :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    gr.setColor(couleurDeFond);
    gr.fillRect(0, 0, largeurEcran, hauteurEcran);
    avec couleurDeFond mis a la couleur qu'on veut (ex : Color.WHITE ou une couleur transparente new Color(0) suivant le type d'image qu'on aura cr��)
    Merci de penser au tag quand une r�ponse a �t� apport�e � votre question. Aucune r�ponse ne sera donn�e � des messages priv�s portant sur des questions d'ordre technique. Les forums sont l� pour que vous y postiez publiquement vos probl�mes.

    suivez mon blog sur D�veloppez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  8. #8
    Membre � l'essai
    Homme Profil pro
    ch�mage
    Inscrit en
    Avril 2025
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comt�)

    Informations professionnelles :
    Activit� : ch�mage
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2025
    Messages : 4
    Par d�faut
    Citation Envoy� par wax78 Voir le message
    j'ai retenu ta solution, un copi�-coll� et �a marche du premier coup

    merci tout le monde!

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [D�butant] image en background d'une Applet AWT
    Par xtofer dans le forum AWT/Swing
    R�ponses: 5
    Dernier message: 18/07/2006, 13h15
  2. Convertir un fichier .jar dans un autre format.
    Par Strappal dans le forum Java ME
    R�ponses: 2
    Dernier message: 29/06/2006, 19h32
  3. [Applet][D�butant] .jar dans php
    Par the_guitariste dans le forum Applets
    R�ponses: 14
    Dernier message: 24/05/2006, 14h39
  4. [AWT] Image dans un Panel
    Par -Jolan- dans le forum AWT/Swing
    R�ponses: 4
    Dernier message: 29/12/2005, 15h57
  5. R�ponses: 10
    Dernier message: 29/06/2004, 22h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo