Bonjour à tous,
Je suis débutant en programmation. Je suis entrain de créer une interface assez simple : 1 fenêtre contenant 1 image en fond d'écran, et 3 boutons.
Cependant j'ai 2 questions...
- Lorsque j'appuie sur un des boutons, je souhaite faire disparaitre la Frame principale lancée via le main, avant d'afficher une nouvelle Frame. Cependant, je n'arrive pas à accéder au nom de la Frame principale pour la fermer.
-Lorsque j'appuie sur un autre bouton, je souhaite complètement changer le panel de départ (tout en restant dans la même frame) en affichant un nouveau panel et avec un bouton permettant de faire retour. Par contre, je ne sais pas si c'est faisable.
Merci d'avance
Voici mon code :
Main.java
Fenetre_Accueil.java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public class Main { public Main() { } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable(){ public void run(){ Fenetre_Accueil fenetre = new Fenetre_Accueil(); fenetre.setVisible(true); } }); } }
Page_Accueil.java
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 public class Fenetre_Accueil extends JFrame { ImageIcon icon; Page_Accueil jp_Image = new Page_Accueil(); JButton jb_image; Image image; public Fenetre_Accueil() { super(); build(); } public void build(){ Dimension tailleEcran = Toolkit.getDefaultToolkit().getScreenSize(); int largeurEcran = tailleEcran.width; int hauteurEcran = tailleEcran.height; setSize(largeurEcran/2, hauteurEcran/2); setLocation(largeurEcran/4, hauteurEcran/4); setTitle("Mon appli"); setLocationRelativeTo(null); setResizable(false); jp_Image.setPreferredSize(new Dimension(largeurEcran/2,hauteurEcran/2)); this.add(jp_Image); this.show(); jp_Image.paintComponent(jp_Image.getGraphics()); } }
Menu_Accueil.java
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 class Page_Accueil extends JPanel { public Page_Accueil (){ this.setLayout(new BorderLayout()); JLabel label_titre = new JLabel("Bienvenue sur mon Appli", JLabel.CENTER); label_titre.setFont(new Font("Arial", Font.BOLD, 38)); label_titre.setForeground(new Color(200,30,24)); this.add(BorderLayout.NORTH,label_titre); Menu_Accueil jp_menu = new Menu_Accueil(); this.add(BorderLayout.WEST,jp_menu); setDoubleBuffered(true); // <- pr limiter le scintillement } synchronized protected void paintComponent(Graphics g) { Image i = Toolkit.getDefaultToolkit().getImage("./fondecran.jpg"); g.drawImage(i,0,0,this.getWidth(),this.getHeight(),Color.BLACK,this); } }
Class Boutons
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 Menu_Accueil extends JPanel{ public Menu_Accueil() { this.setOpaque(false); this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); // Création du bouton Jouer JButton jb_jouer = new JButton(new ImageIcon(Toolkit.getDefaultToolkit().getImage("./bouton_jouer.jpg"))); Boutons.Build_Btn(jb_jouer,false,"./bouton_jouer"); // Création du bouton Options JButton jb_options = new JButton(new ImageIcon(Toolkit.getDefaultToolkit().getImage("./bouton_options.jpg"))); Boutons.Build_Btn(jb_options,false,"./bouton_options"); // Création du bouton Quitter JButton jb_quitter = new JButton(new ImageIcon(Toolkit.getDefaultToolkit().getImage("./bouton_quitter.jpg"))); Boutons.Build_Btn(jb_quitter,false,"./bouton_quitter"); // Ajout des écouteurs sur les boutons jb_jouer.addActionListener(new Traitement_Btn_jouer()); jb_options.addActionListener(new Traitement_Btn_options()); jb_quitter.addActionListener(new Traitement_Btn_quitter()); // Ajout des boutons au menu this.add(jb_jouer); this.add(jb_options); this.add(jb_quitter); } }
Class Traitement_Btn_jouer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 class Boutons extends JButton{ public static final void Build_Btn(JButton jb,boolean sbp,String ch_im){ Image image = Toolkit.getDefaultToolkit().getImage(ch_im+".jpg"); jb.setMaximumSize(new Dimension (192,48)); jb.setBorderPainted(sbp); jb.setPressedIcon(new ImageIcon(ch_im+"_pressed.jpg")); jb.setRolloverIcon(new ImageIcon(ch_im+"_souris.jpg")); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 class Traitement_Btn_jouer implements ActionListener{ public void actionPerformed(ActionEvent e) { try{ } catch(Exception exception){ System.out.println("Pb: Bouton jouer"); return; } } }
Partager