[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:
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.