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

Interfaces Graphiques en Java Discussion :

ClasseCastException pour imprimer


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 194
    Points : 102
    Points
    102
    Par défaut ClasseCastException pour imprimer
    Bonjour,

    voici mon problème ; j'ai une applet qui comporte différentes classes dont
    - ImpressionTicket
    - NouveauRegime

    ImpresisonTicket permet d'imprimer une page ; lorsque j'utilise cette classe, je n'ai aucun problème.

    Par contre, j'aimerais pouvoir cliquer sur un bouton de NouveauRegime pour qu'il imprime en utilisant la classe ImpressionTicket.

    Pour ce faire, j'ai pensé à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      MyApplet parent = new MyApplet();
           parent = (MyApplet) this.getParent();
           parent.impressionTicket.imprimer(idAttestation);
    Malheureusement, cela ne fonctionne pas ; j'ai droit à une classCastException...

    Dans MyApplet, j'ai
    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
     
    public class MyApplet extends JApplet implements WindowListener{
      private boolean isStandalone = false;
      private Personne user = new Personne();
      private JTabbedPane onglets = new JTabbedPane();
      private GestionRegimes gr;
      private NouveauRegime panelNewRegime;
      public ImpressionTicket impressionTicket;
      private Administration administration;
      private GestionInstallations gestionInstallations;
      private Archives archives;
      private DBManager db = new DBManager();
      private VerificationNumeros verif;
      private Identification id;
      private Identification identification;
      private static JFrame frame=new JFrame();
     
     
    public void init() {
        try {
           ..........
           this.getContentPane().add(onglets);
           getContentPane().add(onglets);
           //Possibilité de créer un nouveau régime
           panelNewRegime = new NouveauRegime(user);
           //Ajout des onglets
           onglets.add(panelNewRegime);
           impressionTicket = new ImpressionTicket(user);
           onglets.add(impressionTicket);
           ............
        }
    une idée comment résoudre le problème ?

  2. #2
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 194
    Points : 102
    Points
    102
    Par défaut
    à force de
    system.out.println (conteneurX.getclass());

    j'ai fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
          Container conteneur =  this.getParent();
          Container conteneur2=conteneur.getParent();
          Container conteneur3=conteneur2.getParent();
          Container conteneur4=conteneur3.getParent();
          Container conteneur5=conteneur4.getParent();
          MyApplet parent = new MyApplet();
          parent =(MyApplet) conteneur5;
     
           parent.impressionTicket.imprimer(idAttestation);
    et ça fonctionne.

    Maintenant, reste polus qu'à trouver un moyen plus propre lol

  3. #3
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 194
    Points : 102
    Points
    102
    Par défaut
    et la solution finale est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
          MyApplet parent = new MyApplet();
          Container ancetre=this.getTopLevelAncestor();
          parent =(MyApplet) ancetre;
          parent.impressionTicket.imprimer(idAttestation);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XSL] probléme pour imprimer un saut de ligne (<br> )
    Par linniesurf dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 16/01/2006, 16h55
  2. Taille du papier pour imprimer (VB6)
    Par barrada dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 05/01/2006, 22h34
  3. [C#] Comment piloter MSAccess pour imprimer un Etat ?
    Par ipiron dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/12/2005, 19h30
  4. Utilisation d'objets pour imprimer
    Par alainvh dans le forum Composants VCL
    Réponses: 3
    Dernier message: 02/12/2004, 10h25
  5. comment faire pour imprimer à l'écran un objet
    Par GConstant dans le forum Général Python
    Réponses: 10
    Dernier message: 11/08/2004, 11h31

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