Action sur les JMenu
Fermé
soukayna
-
6 nov. 2012 à 12:59
HackTrack Messages postés 618 Date d'inscription vendredi 26 juillet 2002 Statut Membre Dernière intervention 13 juillet 2013 - 10 nov. 2012 à 07:52
HackTrack Messages postés 618 Date d'inscription vendredi 26 juillet 2002 Statut Membre Dernière intervention 13 juillet 2013 - 10 nov. 2012 à 07:52
A voir également:
- Action sur les JMenu
- Action requise sur le compte - Forum Gmail
- Action requise sur compte ??? de quoi s'agit-il ??? - Forum Internet / Réseaux sociaux
- Cette action ne peut pas être réalisée car le fichier est ouvert dans system - Guide
- Word attend la fin d'une action ole ✓ - Forum Word
- Cartouche d'encre action avis - Forum Imprimante
1 réponse
HackTrack
Messages postés
618
Date d'inscription
vendredi 26 juillet 2002
Statut
Membre
Dernière intervention
13 juillet 2013
972
10 nov. 2012 à 07:52
10 nov. 2012 à 07:52
Salut!
Le principe même d'un menu est que c'est un conteneur qui contient une collection de JMenu et/ou de JMenuItem.
Il est donc normal que l'on ne puisse par défaut pas implémenter d'action sur un menu.
Mais tu peux tout à fait ajouter directement un JMenuItem sur une JMenubar.
Exemple:
Le principe même d'un menu est que c'est un conteneur qui contient une collection de JMenu et/ou de JMenuItem.
Il est donc normal que l'on ne puisse par défaut pas implémenter d'action sur un menu.
Mais tu peux tout à fait ajouter directement un JMenuItem sur une JMenubar.
Exemple:
package hacktrack.jmenuaction;
import java.awt.Container;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class JMenuActionDemo extends JFrame {
private Container c;
private JTextArea display;
public JMenuActionDemo() {
super("Demo - Action on JMenu - HackTrack");
this.init();
}
@SuppressWarnings("serial")
private void init() {
c = getContentPane();
JPanel outputPanel = new JPanel();
outputPanel.setBorder(BorderFactory
.createTitledBorder("Affichage des actions"));
display = new JTextArea(10, 40);
outputPanel.add(display);
c.add(outputPanel);
JMenuBar menubar = new JMenuBar();
menubar.add(new JMenuItem(new SelectAllAction()));
JMenu additionalActionsMenu = new JMenu("Autres actions...");
JMenuItem tabMenu = new JMenuItem(new TabAction());
additionalActionsMenu.add(tabMenu);
JMenuItem lineFeedMenu = new JMenuItem(new LineFeedAction());
additionalActionsMenu.add(lineFeedMenu);
menubar.add(additionalActionsMenu);
this.setJMenuBar(menubar);
}
class AddSignatureAction extends AbstractAction {
protected AddSignatureAction(){
super("Autres actions...");
}
@Override
public void actionPerformed(ActionEvent e) {
display.append("Signed: Hacktrack");
}
}
class TabAction extends AbstractAction {
protected TabAction(){
super("Tabulation");
}
@Override
public void actionPerformed(ActionEvent e) {
display.append("\t");
}
}
class LineFeedAction extends AbstractAction {
protected LineFeedAction(){
super("Aller à la ligne");
}
@Override
public void actionPerformed(ActionEvent e) {
display.append("\n");
}
}
class SelectAllAction extends AbstractAction {
protected SelectAllAction(){
super("Sélectionner tout");
}
@Override
public void actionPerformed(ActionEvent e) {
display.select(0, display.getText().length());
}
}
public static void main(String[] args) {
JMenuActionDemo demo = new JMenuActionDemo();
demo.pack();
demo.setVisible(true);
}
}