Обработка события - Java

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста, как сделать что бы по нажатию пункта меню надо будет менять количество кнопок на панели, а ненужные скрывать.

Решение задачи: «Обработка события»

textual
Листинг программы
  1. package javaapplication41;
  2.  
  3. import java.awt.Desktop;
  4. import java.awt.FlowLayout;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7. import java.io.IOException;
  8. import java.net.URI;
  9. import java.net.URISyntaxException;
  10. import java.sql.PreparedStatement;
  11. import java.sql.ResultSet;
  12. import javax.swing.JButton;
  13.  
  14. import javax.swing.JFrame;
  15. import javax.swing.JMenu;
  16. import javax.swing.JMenuBar;
  17. import javax.swing.JMenuItem;
  18. import javax.swing.SwingUtilities;
  19.  
  20.  
  21. public class ex {
  22.     JMenuBar jmb;
  23.     JMenu jmcolors;
  24.     JMenuItem green, yellow, black, morecolors, pink, red;
  25.     JButton btn1, btn2, btn3;
  26.    
  27.     ex(){
  28.         JFrame jfrm = new JFrame("");
  29.         jfrm.setLayout(new FlowLayout());
  30.         jfrm.setSize(200, 200);
  31.         jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  32.        
  33.         jmb = new JMenuBar();
  34.         btn1= new JButton ("green");
  35.         btn2= new JButton ("yellow");
  36.         btn3= new JButton ("black");
  37.        
  38.         jmcolors = new JMenu("Colors");
  39.         green = new JMenuItem("green");
  40.         yellow = new JMenuItem("yellow");
  41.         black = new JMenuItem("black");
  42.        
  43.         jmcolors.add(green);
  44.         jmcolors.add(yellow);
  45.         jmcolors.add(black);
  46.        
  47.         jmb.add(jmcolors);
  48.         green.addActionListener(new ItemMenuListener());
  49.         yellow.addActionListener(new ItemMenuListener());
  50.         black.addActionListener(new ItemMenuListener());
  51.    
  52.        
  53.         jfrm.add(btn1);
  54.         jfrm.add(btn2);
  55.         jfrm.add(btn3);
  56.         jfrm.setJMenuBar(jmb);
  57.         jfrm.setVisible(true);
  58.     }
  59.    
  60.    private class ItemMenuListener implements ActionListener {
  61.  
  62.         @Override
  63.         public void actionPerformed(ActionEvent e) {
  64.        
  65.         JMenuItem itm = (JMenuItem)e.getSource();
  66.         if(e.getActionCommand().equals("green")){
  67.             btn1.setEnabled(true);
  68.             btn2.setEnabled(false);
  69.             btn3.setEnabled(false);
  70.         }
  71.         if(e.getActionCommand().equals("black")){
  72.             btn1.setEnabled(false);
  73.             btn2.setEnabled(true);
  74.             btn3.setEnabled(false);
  75.         }
  76.         if(e.getActionCommand().equals("yellow")){
  77.             btn1.setEnabled(false);
  78.             btn2.setEnabled(false);
  79.             btn3.setEnabled(true);
  80.         }
  81.     }
  82.    
  83.     }
  84.  
  85.     public static void main(String[] args) {
  86.         SwingUtilities.invokeLater(new Runnable() {        
  87.             @Override
  88.             public void run() {
  89.                 new ex();              
  90.             }
  91.         });
  92.  
  93.     }
  94.  
  95. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут