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

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

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

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

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

textual
Листинг программы
package javaapplication41;
 
import java.awt.Desktop;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.swing.JButton;
 
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.SwingUtilities;
 
 
public class ex {
    JMenuBar jmb;
    JMenu jmcolors;
    JMenuItem green, yellow, black, morecolors, pink, red;
    JButton btn1, btn2, btn3;
    
    ex(){
        JFrame jfrm = new JFrame("");
        jfrm.setLayout(new FlowLayout());
        jfrm.setSize(200, 200);
        jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        jmb = new JMenuBar();
        btn1= new JButton ("green");
        btn2= new JButton ("yellow");
        btn3= new JButton ("black");
        
        jmcolors = new JMenu("Colors");
        green = new JMenuItem("green");
        yellow = new JMenuItem("yellow");
        black = new JMenuItem("black");
        
        jmcolors.add(green);
        jmcolors.add(yellow);
        jmcolors.add(black);
       
        jmb.add(jmcolors);
        green.addActionListener(new ItemMenuListener());
        yellow.addActionListener(new ItemMenuListener());
        black.addActionListener(new ItemMenuListener());
   
        
        jfrm.add(btn1);
        jfrm.add(btn2);
        jfrm.add(btn3);
        jfrm.setJMenuBar(jmb);
        jfrm.setVisible(true);
    }
    
   private class ItemMenuListener implements ActionListener {
 
        @Override
        public void actionPerformed(ActionEvent e) {
        
        JMenuItem itm = (JMenuItem)e.getSource();
        if(e.getActionCommand().equals("green")){
            btn1.setEnabled(true);
            btn2.setEnabled(false);
            btn3.setEnabled(false);
        }
        if(e.getActionCommand().equals("black")){
            btn1.setEnabled(false);
            btn2.setEnabled(true);
            btn3.setEnabled(false);
        }
        if(e.getActionCommand().equals("yellow")){
            btn1.setEnabled(false);
            btn2.setEnabled(false);
            btn3.setEnabled(true);
        }
    }
    
    } 
 
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {         
            @Override
            public void run() {
                new ex();               
            }
        });
 
    }
 
}

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


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

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

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