Bonjour à tous,
J'essaye d'ajouter un JMenuBar à une JFrame. Mon code compile, mais mon menubar ne s'affiche pas...
J'ai une JFrame qui ne contient qu'un JPanel, le fond du JPanel est une image.
Voici le code de la jframe :
et voici celui du jpanel :Code:public static void main(String[] args) throws InterruptedException { // Création de la fenêtre JFrame fenetre = new JFrame(); fenetre.setTitle("le titre de la jframe"); fenetre.setSize(600, 400); fenetre.setLocationRelativeTo(null); fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); fenetre.setResizable(false); //Creation du menu JMenuBar barreMenu = new JMenuBar(); JMenu menu = new JMenu(); barreMenu.add(menu); fenetre.setJMenuBar(barreMenu); // Création du contenu RouteJPanel panel = new RouteJPanel(); fenetre.setContentPane(panel); // Affichage fenetre.setVisible(true); panel.Lancer(); }
Auriez-vous une idée / piste ?Code:public class RouteJPanel extends JPanel implements Observer, MouseListener { protected Route route; protected Timer timer; public RouteJPanel() { this.addMouseListener(this); } public void Lancer() throws InterruptedException { route = new Route(5, this.getWidth(), getHeight()); // 5 voitures route.addObserver(this); TimerTask tache = new TimerTask() { @Override public void run() { route.MiseAJourRoute(); } }; timer = new Timer(); timer.scheduleAtFixedRate(tache, 0, 15); } protected void DessinerVache(Vache v, Graphics g) { Toolkit kit = Toolkit.getDefaultToolkit(); g.drawImage(kit.getImage("images/vache.jpg"), (int) v.posX,(int) v.posY, this); } @Override public void update(Observable o, Object arg) { this.repaint(); } @Override public void paintComponent(Graphics g) { super.paintComponent(g); Toolkit kit = Toolkit.getDefaultToolkit(); // fond d'écran de la fenêtre (route) Image imageRoute = kit.getImage("images/routecampagne.jpg" ); g.drawImage(imageRoute,0,0,600,400,null); for (Vache v : route.vaches) { DessinerVache(v, g); } } @Override public void mouseClicked(MouseEvent e) {} @Override public void mousePressed(MouseEvent e) {} @Override public void mouseReleased(MouseEvent e) {} @Override public void mouseEntered(MouseEvent e) {} @Override public void mouseExited(MouseEvent e) {} }
Merci d'avance !
-----