2017-03-20 1 views
0

Lorsque l'utilisateur coche l'élément de menu de la case à cocher, je souhaite afficher un message à l'utilisateur sur la console. Comment puis je faire ça? Pour l'instant, lorsque l'utilisateur vérifie le message de case à cocher est affiché uniquement sur le cadre. Comment puis-je afficher un message sur la console aussi?Afficher le message sur la console lors de la sélection de l'élément de menu de la case à cocher

import java.awt.BorderLayout; 
import java.awt.EventQueue; 
import java.awt.event.ItemEvent; 
import java.awt.event.KeyEvent; 
import javax.swing.BorderFactory; 
import javax.swing.JCheckBoxMenuItem; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JMenu; 
import javax.swing.JMenuBar; 

public class CheckBoxMenu extends JFrame { 

    private JLabel statusbar; 

    public CheckBoxMenu() { 

     initUI(); 
    } 

    private void initUI() { 

     createMenuBar(); 

     statusbar = new JLabel("On Progress..."); 
     statusbar.setBorder(BorderFactory.createEtchedBorder()); 
     add(statusbar, BorderLayout.SOUTH); 

     setTitle("JCheckBoxMenuItem"); 
     setSize(360, 250); 
     setLocationRelativeTo(null); 
     setDefaultCloseOperation(EXIT_ON_CLOSE); 
    } 

    private void createMenuBar() { 

     JMenuBar menubar = new JMenuBar(); 
     JMenu fileMenu = new JMenu("File"); 

     JMenu viewMenu = new JMenu("View"); 
     JCheckBoxMenuItem sbarMi = new JCheckBoxMenuItem("Show Statusbar"); 

     sbarMi.setSelected(true); 

     sbarMi.addItemListener((ItemEvent e) -> { 
      if (e.getStateChange() == ItemEvent.SELECTED) { 
       statusbar.setVisible(true); 
      } else { 
       statusbar.setVisible(false); 
      } 
     }); 

     viewMenu.add(sbarMi); 

     menubar.add(fileMenu); 
     menubar.add(viewMenu); 

     setJMenuBar(menubar); 
    } 

    public static void main(String[] args) { 

     EventQueue.invokeLater(() -> { 
      CheckBoxMenu ex = new CheckBoxMenu(); 
      ex.setVisible(true); 
     }); 
    } 
} 
+0

'System.out.println (" ... ")'? – MadProgrammer

Répondre

0

Vous pouvez simplement utiliser un appel System.out.println dans votre écouteur, ou utiliser un enregistreur.

sbarMi.addItemListener((ItemEvent e) -> { 
    if (e.getStateChange() == ItemEvent.SELECTED) { 
     statusbar.setVisible(true); 
     // Using System.out 
     System.out.println("On Progress..."); 
     // Or using a logger (defined somewhere else, using Logger.getLogger or a logging framework.) 
     logger.info("On Progress."); 
    } else { 
     statusbar.setVisible(false); 
    } 
});