[Résolu] Fenetre dans une fenetre
Posté : jeu. 19 juil. 2012 11:50
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 !
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 !