Ecrire ActionListener java pour aller sur le web
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonsoir à tous,
Je m'exerce avec Java et je coince sur l'écriture de ActionListener pour déclencher :
- la connexion à un site ( Framasoft, par ex.)
- l'ouverture d'un fichier pdf présent dans le PC
- le lancement d'un programme (Gimp)
J'ai recopié et étudié un grand nombre de projets mais la plupart du temps, ActionListener commande
System.out.println("XXX");
La commande
BrowserControl.displayURL("https://framasoft.org/fr");
ne semble plus opérante.
J'ai longtemps retardé ce courrier car je pensais trouver les solutions...
Je joins le script qui n'est qu'un test :
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JFrame; public class TestActions{ public static void main(String[] args) { //création d'une fenêtre JFrame JFrame fen=new JFrame("Menu et actions"); //création d'un panneau (JPanel) JPanel panel=new JPanel(); panel.setLayout(null); fen.setSize(500,400); fen.setContentPane(panel); //création de la barre des menus JMenuBar myMenuBar=new JMenuBar(); //Ajout de la barre de menus au JPanel panel.add(myMenuBar); //Positionnement de la barre des menus avec la méthode setBounds() myMenuBar.setBounds(0, 0, 500, 40); //Création du menu Fichier JMenu menuWeb = new JMenu("Web"); JMenu menuPdf = new JMenu("Pdf"); JMenu menuImage = new JMenu("Images"); //Ajout du menu à la barre des menus myMenuBar.add(menuWeb); myMenuBar.add(menuPdf); myMenuBar.add(menuImage); // Ajout de sous-menu // Sous-menu Web JMenuItem framasoftItem = new JMenuItem("Framasoft "); framasoftItem.addActionListener((event) -> { }); menuWeb.add(framasoftItem); framasoftItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("Framasoft"); // Ok //BrowserControl.displayURL("https://framasoft.org/fr"); } }); // Sous-menu Pdf JMenuItem homeItem = new JMenuItem("Pdf perso "); homeItem.addActionListener((event) -> { }); menuPdf.add(homeItem); // Sous-menu Images JMenuItem gimpItem = new JMenuItem("Gimp "); gimpItem.addActionListener((event) -> { }); menuImage.add(gimpItem); fen.setVisible(true); } }
- Jframe java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
3 réponses
Salut,
avant tout comprendre ce qu'est un ActionListener.
C'est un écouteur d'action qui doit déclencher quelque chose lors d'un événement.
Par exemple un clic(l'événement) sur un bouton(l'object "écouté") déclenche un action, il faut d'abord préciser que c'est un clic qui doit déclencher l'action: une fonction qui dit "fait ceci".
Des exemples par ici:
https://www.delftstack.com/fr/howto/java/add-actionlistener-to-jbutton-in-java/
Cela s'appelle la programmation événementielle. Pas une programmation à part ou un vrai paradigme mais une méthode couramment utilisé dans tous les langages.
Le principe est que l'on place des écouteurs et qu'il vont se déclencher(et déclenhcer une fonction associée) lorsque l'action ciblée est détectée sur l'élément écouté.
Cela va d'utiliser l'interface humain/machine (clavier/souris/etc...) ou des événements de chargement(comme la fin de lecture d'un fichier) ou même des événements plus personnalisés.
Bonjour,
Il me semble avoir compris ce qu'est un ActionListener.
Ma question portait sur l'écriture, la façon d'écrire cette commande en fonction de ce qu'on recherche : sortie sur écran, lien vers le web, lancement d'un programme, etc. La commande variera selon l'action voulue. Tel était ma question.
Bonjour,
Tu devrais considérer la classe java.awt.Desktop
Par exemple, Desktop.getDesktop().open(myFile); va ouvrir myFile avec l'application par défaut de l'extension correspondante.
Tu pourrais aussi tester la méthode browse pour ouvrir une URL avec le navigateur web par défaut.