Passer d'une JFrame à une autre au clic bouton

Fermé
besoind'aideisn Messages postés 1 Date d'inscription lundi 13 mai 2013 Statut Membre Dernière intervention 13 mai 2013 - 13 mai 2013 à 11:33
 Flog78 - 13 mai 2013 à 17:27
Bonjour, je suis débutante en javascript mais j'ai crée un algorithme qui fonctionne et j'essai maintenant de créer un design pour en faire une application. J'ai un bouton et j'aimerais à son clic ma page de présentation se ferme et que la prochaine page s'ouvre mais j'ai eu beau essayer beaucoup de méthodes trouvées sur les forums aucune ne me donne un résultat... J'ai laissé les différents méthodes utilisée en commentaire:

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import java.awt.Canvas;
import java.awt.Font;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import java.awt.Color;
import java.awt.Cursor;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.Action;


public class fenetre1 extends JFrame


{

private JPanel contentPane;
private JTextField txtAlcotest;
private JLabel lblNewLabel;
private JButton btnNewButton;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
fenetre1 frame = new fenetre1();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public fenetre1() {
setEnabled(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 320, 319);
contentPane = new JPanel();
contentPane.setBackground(new Color(230, 230, 250));
contentPane.setForeground(new Color(102, 153, 204));
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);




txtAlcotest = new JTextField();
txtAlcotest.setEnabled(true);
txtAlcotest.setForeground(new Color(95, 158, 160));
txtAlcotest.setBackground(new Color(230, 230, 250));
txtAlcotest.setFont(new Font("Verdana", Font.BOLD, 16));
txtAlcotest.setText(" Alcootest ");
txtAlcotest.setBounds(106, 66, 96, 54);
contentPane.add(txtAlcotest);
txtAlcotest.setColumns(10);

lblNewLabel = new JLabel("");
lblNewLabel.setDoubleBuffered(true);
lblNewLabel.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
lblNewLabel.setAutoscrolls(true);
lblNewLabel.setBackground(new Color(230, 230, 250));
lblNewLabel.setOpaque(true);
lblNewLabel.setIcon(new ImageIcon("H:\\My Pictures\\boisson-verre-00009.gif"));
lblNewLabel.setBounds(134, 131, 34, 102);
contentPane.add(lblNewLabel);




btnNewButton = new JButton("COMMENCER LE TEST !");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {


if((JButton)e.getSource()==btnNewButton)
{ new NouvelFenetre().setVisible(true);
this.setVisible(false);
}


//new NouvelFenetre().setVisible(true);
//this.setVisible(false);
//txtAlcotest.setEnabled(false);
//btnNewButton.setEnabled(false);
//public void openFrame(); {
// Child child = new Child(this);this.dispose();


} }

//} }
);
btnNewButton.setBackground(new Color(255, 228, 196));
btnNewButton.setFont(new Font("Verdana", Font.PLAIN, 11));
btnNewButton.setBounds(106, 251, 196, 23);
contentPane.add(btnNewButton);}

}

1 réponse

Tu peux créer plusieurs panel et passer de l'un à l'autre en affectant à ta fenetre le panel voulu:
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;

public class Test7 extends JFrame implements ActionListener
{
	private JPanel panel;
	private JPanel panel_1;
	private JButton btnPanel;
	private JButton btnPanel_1;
	
	/**
	 * Launch the application.
	 */
	public static void main(String[] args)
	{
		EventQueue.invokeLater(new Runnable()
		{
			public void run()
			{
				try
				{
					Test7 frame = new Test7();
					frame.setVisible(true);
				}
				catch (Exception e)
				{
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public Test7()
	{
		setEnabled(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 320, 319);
		
		panel = new JPanel();
		panel.setBounds(0, 0, 304, 281);
		setContentPane(panel);
		panel.setLayout(null);
		
		btnPanel = new JButton("Panel 1");
		btnPanel.setBounds(10, 247, 89, 23);
		btnPanel.addActionListener(this);
		panel.add(btnPanel);
		
		
		
		panel_1 = new JPanel();
		panel_1.setBounds(0, 0, 304, 281);
		panel_1.setLayout(null);
		
		btnPanel_1 = new JButton("Panel2");
		btnPanel_1.setBounds(205, 247, 89, 23);
		btnPanel_1.addActionListener(this);
		panel_1.add(btnPanel_1);
	}

	@Override
	public void actionPerformed(ActionEvent e)
	{
		if(e.getSource().equals(btnPanel))
		{
			setContentPane(panel_1);
		}
		else if(e.getSource().equals(btnPanel_1))
		{
			setContentPane(panel);
		}
	}
}
0