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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 098
    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 098
    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 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    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 098
    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 098
    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 : 48
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

+ 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