Button jave

Résolu/Fermé
leen.net Messages postés 212 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 14 mai 2014 - 10 mars 2012 à 20:44
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 25 mars 2012 à 23:27
Bonjour,

quelle fonction je dois utiliser pour qu'en appuyant sur un boutton , le programme s'orient sur une deuxième page?


5 réponses

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
20 mars 2012 à 20:36
C'est quoi pour toi "s'orienter vers une deuxième page" ?
Est-ce que t'as un début de code pour voir où tu veux rajouter cette fonctionnalité ?
Mais sinon, effectivement, tu devras ajouter un ActionListener avec addActionListener
1
leen.net Messages postés 212 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 14 mai 2014 13
20 mars 2012 à 20:39
par exemple quand tu appuis sur le boutton "leen.net" la page de mon profil s'ouvrira.... mais en java pas en php
merci d'avance
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
20 mars 2012 à 20:42
Tu fais du Java EE ? C'est une applet ? Ce serait quand même bien que tu précises la technologie...
Mais pour l'ActionListener ça ne devrait pas changer grand chose...
0
leen.net Messages postés 212 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 14 mai 2014 13
20 mars 2012 à 20:46
oui je suis en java... j'ai crée le bouton... quelle technologie je dois préciser?
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
20 mars 2012 à 20:57
En Java, il y a plusieurs versions, Java SE pour les applications normales ("comparable" au C++), Java EE pour faire les sites web ("comparable" en PHP), Java ME pour faire les applications mobiles.

Tu parlais de PHP alors je me pose des question c'est normal... De plus ton bouton ça peut être un java.awt.Button, un java.swing.JButton, ou un autre... Bref, on ne sait pas ce que tu fais, ce serait dommage de te donner une mauvaise réponse parce que tu n'as pas été précis sur la question !

Mais comme je l'ai dit, pour l'ActionListener ça ne devrait pas changer grand chose, mais c'est pour la partie "la page de mon profil s'ouvrira" que ça risque de pas mal changer...
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
20 mars 2012 à 21:16
En Java SE, une application swing normale, tu peux essayer ça :

JJButton bouton = new JButton("CCM");

bouton.addActionListener(new ActionListener()
{
    @Override
    public void actionPerformed(ActionEvent ae) 
    {
        try
        {
            Desktop.getDesktop().browse(new URI( "https://www.commentcamarche.net/"));
        }
        catch (Exception e)
        {
            JOptionPane.showMessageDialog(null,e.toString(), e.getClass().getCanonicalName(),JOptionPane.ERROR_MESSAGE);
        }
    }
});

add(bouton);
0
leen.net Messages postés 212 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 14 mai 2014 13
20 mars 2012 à 20:30
peut être c'est dans ActionListener... mais je n'arrive pas à trouver la solution... svp ça bloque mon programme
0
leen.net Messages postés 212 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 14 mai 2014 13
20 mars 2012 à 21:57
je t'ai écris le code, je ne sais pas si ça t'aidera

imagine que le CCM est un programme qui est crée en java et qui est disponible sur ton ordinateur sans être connecte à Internet quand tu appuis sur le bouton "leen.net" ma page de profil apparaît... c'est la même chose dans mon programme
public class main extends javax.swing.JFrame {

   
    public main() {
        initComponents();
    }

  
    @SuppressWarnings("unchecked")
   
    private void initComponents() {

        jButton1 = new javax.swing.JButton();
        jMenuBar1 = new javax.swing.JMenuBar();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
       

        jButton1.setText("page 1");
        
        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(223, Short.MAX_VALUE)
                .addComponent(jButton1)
                .addGap(104, 104, 104))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(112, 112, 112)
                .addComponent(jButton1)
                .addGap(163, 163, 163))
        );

        pack();
   
    public static void main(String args[]) {
      
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
     
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new main().setVisible(true);
            }
        });
    }
   
    private javax.swing.JButton jButton1;
    private javax.swing.JMenuBar jMenuBar1;
 
}
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
20 mars 2012 à 22:28
Je suis désolé, mais je vois toujours pas ce que tu veux faire !
Pour gérer le bouton tu dois faire comme je l'ai montré tout à l'heure.

Par contre c'est une très mauvaise idée d'appeler ta classe main !
Et en ce qui concerne la méthode main, si le L&F n'est pas trouvé, ce n'est pas suffisant pour avoir une erreur sévère... un avertissement à la rigueur mais c'est tout.
0
leen.net Messages postés 212 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 14 mai 2014 13
20 mars 2012 à 22:30
merci :) :(
0
leen.net Messages postés 212 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 14 mai 2014 13
20 mars 2012 à 22:41
Ah oui
j'espère maintenant que tu comprendras
(pardon si je te dérangeras)
en html nous écrivons le code <a href="......."> passer a la page suivante</a> comment on peut traduire cette fonction en java?
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
20 mars 2012 à 22:48
Mais explique ce qu'est une page !!!

Faire un lien vers un site internet pas de problème, il suffit de faire un Desktop.browse comme je l'ai fait tout à l'heure, et si au lieu de cliquer sur un JButton tu veux le faire sur un JLabel, c'est pareil.
Mais le principe de "passer à la page suivante" n'a pas de sens dans une application Java à moins de définir qu'est-ce que tu entends par "page".
Dans ton code, j'ai une Frame, un Layout et un Button. C'est assez peu pour savoir ce qu'est ta "page"
0
leen.net Messages postés 212 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 14 mai 2014 13
20 mars 2012 à 22:56
je fais un programme pour un tribunal... quand j'appuie sur le bouton "modifier les décisions", sur l'écran apparait le forum spécifique contenant tous les détails des décisions
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
21 mars 2012 à 07:34
Et tu as déjà fait la méthode qui fait l'affichage de ce forum ? Parce qu'il suffit de l'appeler à l'intérieur de l'actionPerformed pour pouvoir gérer le bouton...
0
leen.net Messages postés 212 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 14 mai 2014 13
21 mars 2012 à 07:45
ah voila mon problème : comment faire la méthode qui affiche ce forum!!
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
21 mars 2012 à 07:54
Bah tout dépend comment tu veux le faire ton forum !
Si j'ai bien compris tout doit rester dans ton application swing, mais tu peux rendre visible une nouvelle Frame, ou alors si tu as un TabbedPanes, basculer d'un onglet à un autre, etc...
Tu peux bien faire ton application comme tu veux, cela va dépendre des besoins qu'en ont les utilisateurs, mais cela ne concerne plus du tout le problème de bouton parce que ça c'est résolu.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
leen.net Messages postés 212 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 14 mai 2014 13
23 mars 2012 à 14:53
Bonjour KX!!
Ça marche, ça marche, ça marche!!!
dans la première page, j'ai écris ce suit:

public classe firstPage...{
......
JButton b;
public firstPage(){
.......
b.addActionListener(this);
.........
}
public void actionPerformed(ActionEvent e)
{
new secondPage();
}
et ça marche...
merci beaucoup!!!
mais je ne sais pas comment mettre un background(image) pour ma page... j'ai demandé mon question mais pas de réponse.... :(
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
23 mars 2012 à 14:57
Il y a déjà eu pas mal de réponses à ce sujet, regarde ici par exemple.
0
leen.net Messages postés 212 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 14 mai 2014 13
25 mars 2012 à 22:52
j'ai essayé ce lien que tu m'as indiqué...
je l'ai écrit en sous classe , et ce qui est écrit dans main , je l'ai écrit dans superclass, mais j'ai obtenu deux fenêtres... une pour l'image et l'autre pour le code sans l'image... comment je peux avoir les deux dans une même fenêtre?
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
25 mars 2012 à 23:02
Ce lien n'était qu'un exemple parmi d'autres et comme il date de 2005, il pourrait surement être amélioré, mais pour essayer de repérer/corriger le problème il faudrait avoir le détail de comment tu as ce code dans ton programme... Et comme ça ne concerne plus l'ActionListener de ton bouton, créer une nouvelle discussion pour résoudre ce problème serait plutôt mieux.
0
leen.net Messages postés 212 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 14 mai 2014 13
25 mars 2012 à 23:10
ok merci :), mais j'ai crée une discussion depuis 10 mars, et pas de réponse...
je veux reesayyer
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
25 mars 2012 à 23:27
Perso, si je fais comme ça, ça marche :

public class Test extends ImageFond
{
	public Test(String imagePath) 
	{
		super(imagePath);
		ImageFond fond = new ImageFond(imagePath);
		fond.pack();
		fond.setVisible(true);
	}

	public static void main(String[] args) 
	{
		 new Test("D:/test.png");
	}
}

Mais ce qui est le plus important, ce n'est pas d'utiliser cette classe, mais de comprendre le principe du paint(Graphics) qui fait un drawImage, parce qu'au final le problème se résume à ça !
0