Обработка события - 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();
- }
- });
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д