Ecrire ActionListener java pour aller sur le web
KX Messages postés 19031 Statut Modérateur -
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
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
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.