Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Bizarrerie ?! [ Archives / Divers ] (alonsyl)

vendredi 9 décembre 2005 à 11:25:04 | Bizarrerie ?!

alonsyl

bonjour,


dans le programme suivant je construis une JFrame avec une JInternalFrame.
comme vous pourrez le constater, la JinternalFrame est appelle dans le constructeur de la fenetre MDI et en cliquant sur "fichier => ouvrir".
le truc c'est que j'essais de maximiser la JInternalFrame mais cela ne fonctionne que lorsqu'elle est appelée dans le constructeur de la fenetre principale.
a quoi cela est-il du ? le constructeur de la JInternalFrame et pourtant unique !
comment contrecarrer ce phenomene ?

import java.awt.event.*;
import javax.swing.*;

public class FenMere extends JFrame implements ActionListener {
 
 public JDesktopPane dtp = new JDesktopPane();
 public JMenuBar menuDeroulant = new JMenuBar();
 public JMenu fichier = new JMenu("Fichier");
 public JMenuItem ouvrir = new JMenuItem("Ouvrir");
 
    public FenMere() {
     setJMenuBar(menuDeroulant);
     ouvrir.addActionListener(this);
     fichier.add(ouvrir);
     menuDeroulant.add(fichier);
     FenFille f2 = new FenFille();
        dtp.add(f2);

        add(dtp);
        setSize(1000,500);
    }

 public void actionPerformed(ActionEvent ev) {
  Object source = ev.getSource();
  if (source == ouvrir) {
   FenFille f2 = new FenFille();
         dtp.add(f2);

  }
 }

 public class FenFille extends JInternalFrame {
  public FenFille() {
     setSize(150, 150);
  setClosable(true);
     try {
   setMaximum(true);
  } catch (Exception e) {
  }
     setVisible(true);
  }
 }

    public static void main(String[] args) {
     FenMere frame = new FenMere();
        frame.setVisible(true);
    }
}

merci a vous,


alonsyl


vendredi 9 décembre 2005 à 13:46:24 | Re : Bizarrerie ?!

Dobel

Réponse acceptée !
En fait, ce qui est étonnant, c'est que ça marche quand tu le fais depuis le constructeur :)

pour débugger le truc, première chose, afficher les messages des exceptions :)
on voit :
java.lang.NullPointerException
    at javax.swing.DefaultDesktopManager.maximizeFrame(DefaultDesktopManager.java:90)
    ... plein de blabla

En regardant le code source de DefaultDesktopManager, on constate que pour agrandir une frame, il a besoin de la dimension du parent (ici, le JDesktopPane), assez logique

Au moment où du appelles setMaximum dans ton constructeur, la frame interne ne connaît pas encore son JDesktopPane parent, elle ne peut donc pas savoir quelle dimension elle doit prendre :)

Il faut donc agrandir ta frame après l'avoir construite et ajouter au JDesktopPane.

voilà :)
A+
Dobel
[Une fois rien, c'est rien; deux fois rien, ce n'est pas beaucoup, mais pour trois fois rien, on peut déjà s'acheter quelque chose, et pour pas cher]

vendredi 9 décembre 2005 à 15:27:50 | Re : Bizarrerie ?!

alonsyl

grand merci a toi Dobel !

je debute en java et je ne m'etais encore jamais interesse a regarder le code source des bibliotheques qui me sont proposees ... je saurais ce qu'il me reste a faire la prochaine fois que quelque chose de ce genre se produit !

@+,


alonsyl



Cette discussion est classé dans : fichier, ouvrir, public, jinternalframe, fenfille


Répondre à ce message

Sujets en rapport avec ce message

ouvrir un fichier pdf [ par pipin ] je génère un pdf à partir d'une appli java, à la fin du programme j'aimerais ouvrir ce fichier dans acrobat reader, comment faire ? recuperer contenu de balise xml avec sax [ par lolofx ] salut, voila, je voudrais recuprer le contenu d'une balise xml choisi voila la sourcepour info nom correspond au nom de la balisefichier au nom du fic Ouverture fichier EXCEL [ par Tara ] Salut !J'aimerais savoir s'il est possible d'ouvrir un fichier EXCEL à partir d'une IHM en java, le fichier à ouvrir étant sélectionné grâce à la boît Sauvegarde et Serialisation [ par lafoune2 ] j'utilise unJFileChooser pour recuperer un fichier que j'ai enregistré mais y'a un truc que j'arrive pas a saisir : java.io.WriteAbortedException: wr Ouvrir un fichier HTML depuis une fenêtre JAVA [ par foudejava ] Bonjour,j'aimerai savoir s'il est possible d'ouvrir un fichier HTML se trouvant sur mon disque dur depuis une fenêtre java.J'aimerai qu'un de mes JBut ouvrir un fichier [ par MELISA ] Bonjour à tous,J'essaie d'ouvrir un fichier .chm (fichier d'aide) lorsque je clique sur un item de mon menu.Malheureusement je ne connais pas la métho comment ouvrir un .ear pour un newbie [ par jolbo ] SVP, j'aurai besoin d'un coup de main pour pour editer ou decompiler un fichier en .ear j'ai essayer plusieur logs et j'obtiens toujours une suite de pb : ouvrir URL dans applet [ par Ezekhiel ] Huge,Donc voila mon pti pb j'arriv pas à ouvrir une URL (avec la methode URL de java) dans une nouvelle page I.E à partir d'une applet.Le compilateur Ouvrir un fichier word ? [ par julbut23 ] Bonjour ,Voilà ,j'aimerai dans mon programme java que lorsque l'on appuie sur un bouton ,le programme lance un fichier word (donc lance word et ouvre Problem pour faire un fichier .class [ par smitchel ] bon jour j'ai ce code et je voudrai faire un fichier .class mais je sai pas comment mais jeve aussi pouvoir modifier mon "SERVER_DEFAULT_PORT " pour p


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,374 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.