FORUM D’ENTRAIDE INFORMATIQUE (FEI)
Site d’assistance et de sécurité informatique

Entraide pour le programmation en général (tous langages).
Règles du forum : Entraide concernant la programmation informatique en général, tous langages : recherche ou correction d'un code ou d'une fonction, aide à la réalisation d'un projet...
Pour la programmation web (HTML, CSS, PHP, MySQL...), il est conseillé de s'orienter dans le forum Webmastering.
Merci de lire et de respecter la charte générale du forum.
  • Avatar du membre
  • Avatar du membre
Avatar du membre
par Yabléo
#28429
Bonjour,

je suis en train de programmer une interface DVD pour une entreprise, avec menu, j'ai déjà régler la plupart de mes Listener mais je bloque sur 2 boutons qui sont censé ouvrir une nouvelle fenetre.

Je voudrais donc savoir comme faire, j'ai ma fenêtre principale avec les boutons dans une classe, j'ai créer 2 autres classes pour mes 2 fenêtres secondaires, mais voila, je n'arrive pas à les appeler dans ma fenetre principal lorsque je clic sur le bouton en question.

Je ne sais pas si c'est clair, je vous met le code de ma fenêtre principal et le code d'une de mes fenêtre secondaire pour illustrer mon problème !

Ma fenêtre principal :

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Fenetre extends javax.swing.JFrame implements ActionListener {

   public JButton jButton5;
   public JButton jButton4;
   public JButton jButton3;
   public JButton jButton2;
   public JButton jButton1;
   private JFileChooser jfc;
   
   public Fenetre() {
     initComponents();
   }
 
    public void initComponents() {

       jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jButton3 = new javax.swing.JButton();
        jButton4 = new javax.swing.JButton();
        jButton5 = new javax.swing.JButton();
       
        setTitle("DVD 3A INFORMATIQUE");
        setPreferredSize(new java.awt.Dimension(1005, 650));
        setResizable(false);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setContentPane(new ImageFond());
        setVisible(true);
       
        jButton1.setText("DVD 3A");
        jButton1.setForeground(new java.awt.Color(255, 0, 0));
        jButton1.setPreferredSize(new java.awt.Dimension(80, 20));
        jButton1.addActionListener((ActionListener) this);

        jButton2.setText("3A+ késako ?");
        jButton2.setForeground(new java.awt.Color(255, 0, 0));
        jButton2.setPreferredSize(new java.awt.Dimension(80, 20));
        jButton2.addActionListener((ActionListener) this);

        jButton3.setText("Navigation");
        jButton3.setForeground(new java.awt.Color(255, 0, 0));
        jButton3.setPreferredSize(new java.awt.Dimension(80, 20));
        jButton3.addActionListener((ActionListener) this);

        jButton4.setText("Site Web");
        jButton4.setForeground(new java.awt.Color(255, 0, 0));
        jButton4.setPreferredSize(new java.awt.Dimension(80, 20));
        jButton4.addActionListener((ActionListener) this);

        jButton5.setText("Quitter");
        jButton5.setForeground(new java.awt.Color(255, 0, 0));
        jButton5.setPreferredSize(new java.awt.Dimension(80, 20));
        jButton5.addActionListener((ActionListener) this);
       
        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(493, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 240, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(112, 112, 112))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 240, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(85, 85, 85))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 240, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(60, 60, 60))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 240, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(32, 32, 32))
                    .addComponent(jButton5, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 245, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(23, 23, 23))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(209, Short.MAX_VALUE))
              );
        pack();
    } 
   
    public void actionPerformed(ActionEvent e) {
      Object source = e.getSource();

      /*if(source == jButton1){
         
      }

      if(source == jButton2){
         
      }*/

      if(source == jButton3){
         
         JFileChooser choix = new JFileChooser();
           choix.setCurrentDirectory(new File("C:/Users/Thomas/Desktop/DVD 3A INFORMATIQUE/200 logiciels"));
         int option = choix.showOpenDialog(null);
          
         if (option == JFileChooser.APPROVE_OPTION) {
            File se = jfc.getSelectedFile();   
         }
        } 
               
      if(source == jButton4)
         BrowserControl.displayURL("http://www.3a-informatique.com");
      
      if(source == jButton5)
         System.exit(0);
   }
}
Ma fenêtre secondaire :

import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class FenetreText1 extends JFrame{
   public FenetreText1(){
      super();
      
      build();//On initialise notre fenêtre
   }
   
   private void build(){
      setTitle("Fenêtre qui affiche du texte"); //On donne un titre à l'application
      setSize(320,240); //On donne une taille à notre fenêtre
      setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
      setResizable(true); //On permet le redimensionnement
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l'application de se fermer lors du clic sur la croix
      setContentPane(buildContentPane());
   }
   
   private JPanel buildContentPane(){
      JPanel panel = new JPanel();
      panel.setLayout(new FlowLayout());

      JLabel label = new JLabel("Bienvenue dans ma modeste application");
      
      panel.add(label);
      
      return panel;
   }
}
( Mes 2 fenêtres secondaires ne sont pas totalement terminées, il manque... le texte et un bouton retour ! )

Merci pour votre aide, Yabléo !
Présentation

Hello, Bienvenue sur FEI :) @+ Gabriel.

Bonjour :bonjour: Merci de m'accueillir sur votr[…]

Bonjour à tous, D'abord, désol&eacut[…]

Salutations, chers amis, Les joueurs peuvent profi[…]