Button jave
Résoluquelle fonction je dois utiliser pour qu'en appuyant sur un boutton , le programme s'orient sur une deuxième page?
--
Cervelle inoccupée, le diable y trouve tente dressée.
5 réponses
Le problème consiste à faire passer l’affichage à une seconde page lorsqu’on clique sur un bouton dans une application Java sous Windows 7. Plusieurs réponses préconisent d’ajouter un ActionListener au JButton et, dans actionPerformed, d’instancier la seconde page, par exemple en utilisant new SecondPage(), ce qui permet d’ouvrir une nouvelle fenêtre ou de charger une vue. Des échanges précisent aussi que passer à la page suivante peut impliquer de choisir entre une nouvelle JFrame, un JPanel chargé ou un système comme CardLayout pour basculer les vues. En complément, plusieurs évoquent des considérations comme la navigation entre contenus, mais l’approche centrale reste l’écoute des événements et l’ouverture d’une seconde vue.
-
ModérateurC'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-
-
-
-
ModérateurEn 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... -
ModérateurEn 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);
-
-
peut être c'est dans ActionListener... mais je n'arrive pas à trouver la solution... svp ça bloque mon programme
-
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 programmepublic 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; }-
ModérateurJe 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. -
-
-
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?-
ModérateurMais 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" -
-
-
-
ModérateurBah 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.
-
-
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.... :(-
ModérateurIl y a déjà eu pas mal de réponses à ce sujet, regarde ici par exemple.
-
-
ModérateurCe 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.
-
-
ModérateurPerso, 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 !
-