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

NetBeans Java Discussion :

[NetBeans] Problème de lancement d'application java.


Sujet :

NetBeans Java

  1. #1
    Membre averti

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 464
    Points : 332
    Points
    332
    Par défaut [NetBeans] Problème de lancement d'application java.
    J'ai développé un petit projet en java avec netBeans : il s'agit d'un frame avec des boutons, des panels, des scrollbars. Lorsque je le lance à partir de netBeans il m'affiche le plus souvent une frame vide et parfois la frame avec tous ses composants. Si je lance en ligne de commande sous la forme conseillée par le fichier readme.txt généré par netbeans : To run the project from the command line, go to the dist folder and
    type the following:
    java -jar "Histoire1.jar"

    Cela ne fait rien qu'attendre que j'appuie sur CTRL C

    Voici le code que j'ai tapé.

    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
     
    import java.awt.*; 
    import java.awt.event.*; 
    import javax.swing.*; 
    import javax.swing.border.*; 
     
     
    public class Histoire1 { 
     
    public static void main(String args[]) { 
    JFrame frame = new JFrame("Histoire"); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setExtendedState(JFrame.MAXIMIZED_BOTH); 
    frame.setVisible(true); 
    frame.getContentPane().add(new HistoireComponent(frame.getContentPane().getSize())); 
     
    } 
    } 
     
    class HistoireComponent extends JComponent /*implements MouseMotionListener, ActionListener,Runnable*/ 
    { 
     
    Icon icone =new ImageIcon("ew_icon_02.gif"); 
    JButton zoom=new JButton(icone); 
    JLabel carte= new JLabel(icone,SwingConstants.CENTER) ; 
    JMenu menu=new JMenu("menu"); 
    JScrollBar latitude = new JScrollBar(JScrollBar.VERTICAL); 
    JScrollBar longitude = new JScrollBar(JScrollBar.HORIZONTAL); 
    JSlider date=new JSlider(JSlider.HORIZONTAL); 
    JLabel infos=new JLabel("infos"); 
    JLabel browser=new JLabel("browser"); 
     
     
    public HistoireComponent(Dimension tailleEcran) { 
     
    setLayout(null); 
    int hauteurUtile = tailleEcran.height; 
    int largeurUtile = tailleEcran.width; 
    int hauteurControle=latitude.getPreferredSize().width; 
    int hauteurMenu=menu.getPreferredSize().height; 
    int coteCarte=hauteurUtile-hauteurMenu-3*hauteurControle; 
     
    add(menu); 
    menu.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED)); 
    menu.setSize(coteCarte+hauteurControle,hauteurMenu); 
    menu.setLocation(0,0); 
     
    add(browser); 
    browser.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED)); 
    browser.setSize(largeurUtile-menu.getSize().width,hauteurUtile); 
    browser.setLocation(menu.getSize().width,0); 
     
    add(carte); 
    carte.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED)); 
    carte.setSize(coteCarte,coteCarte); 
    carte.setLocation(0,hauteurMenu); 
     
    add(latitude); 
    //latitude.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED)); 
    latitude.setSize(hauteurControle,coteCarte); 
    latitude.setLocation(coteCarte,hauteurMenu); 
     
    add(longitude); 
    //latitude.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED)); 
    longitude.setSize(coteCarte,hauteurControle); 
    longitude.setLocation(0,coteCarte+hauteurMenu); 
     
    add(zoom); 
    zoom.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED)); 
    zoom.setSize(hauteurControle,hauteurControle); 
    zoom.setLocation(coteCarte,coteCarte+hauteurMenu); 
     
    add(date); 
    //latitude.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED)); 
    date.setSize(coteCarte+hauteurControle,hauteurControle); 
    date.setLocation(0,coteCarte+hauteurMenu+hauteurControle); 
     
    add(infos); 
    infos.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED)); 
    infos.setSize(coteCarte+hauteurControle,hauteurControle); 
    infos.setLocation(0,coteCarte+hauteurMenu+2*hauteurControle); 
    } 
    }
    Comme vous vous en doutez je débute en JAVA.
    C'est en respectant les autres que l'on se fait respecter.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 25
    Points : 22
    Points
    22
    Par défaut
    Je pense que :

    1) Ce n'est pas vraiment une question Netbeans, mais plutôt une question sur swing ; il vaut mieux que tu poses ce genre de question sur le forum Java / GUI.
    2) Que tu devrais lire Your First Swing Program.
    3) Pour ton cas précis, qu'il faudrait, que tu fasses dans ton main :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public static void main(String args[]) {
     JFrame frame = new JFrame("Histoire");
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
     frame.getContentPane().add(new HistoireComponent(frame.getContentPane().getSize()));
     frame.pack(); // ***** PACK !!!
     frame.setVisible(true); // N'afficher qu'une fois que tout est fait.
    }

  3. #3
    Membre averti

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 464
    Points : 332
    Points
    332
    Par défaut
    Merci beaucoup.

    Je ne connaissais pas ce tutoriel. Quant à la méthode pack() voici ce qu'en dit le livre "introduction à JAVA" de Niemeyer et Knudsen (O'REILLY édition) : l'appel à la méthode pack() de JFrame indique à la fenêtre avec cadre de se redimensionner à la taille minimum afin de correspondre exactement à ses composants.
    Je veux faire le contraire : obtenir la frame maximum, ses dimensions intérieures et adapter ses composants à cette taille maximum.
    Ce ne serait pas la première fois (ni la dernière) que je serai déçu par un livre d'initiation à un langage. Celui que je viens de citer par exemple commence tout de suite après Hello World par traiter les exceptions. Il n'aborde l'utilsation de netbeans qu'à la page 683 alors qu'il le fournit dans le CD accompagnant. La méthode pack() n'est traitée qu'une fois avec ce que je viens de citer à la page 490.
    Pas facile de s'y retrouver.
    Je regarde le tutoriel et je reposte après pour ce que je n'aurai pas compris.
    C'est en respectant les autres que l'on se fait respecter.

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

Discussions similaires

  1. [VBS] Lancement d'application
    Par OverCat dans le forum VBScript
    Réponses: 1
    Dernier message: 13/02/2006, 22h15
  2. Lancements d'applications auto
    Par Antoine NSG dans le forum Administration système
    Réponses: 5
    Dernier message: 31/10/2005, 17h40
  3. [Batch]Problème de lancement d'application ?
    Par meda dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 20/10/2005, 11h59
  4. Lancement d'application
    Par cach dans le forum C++
    Réponses: 1
    Dernier message: 10/03/2005, 17h48
  5. [debutant ][lancement]Commande de lancement d'application
    Par Regis.C dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 28/06/2004, 23h25

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