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