Создать форму с несколькими кнопками так, чтобы надпись на первой кнопке при ее нажатии передавалась на следую - Java
Формулировка задачи:
Помогите доработать код
Листинг программы
- package zadacha;
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- class Knopki extends JFrame implements ActionListener {
- JLabel jlab;
- Knopki() {
- private String text="Click";
- private int n=5;
- // создать новый контейнер JFrame
- JFrame jfrm = new JFrame("A Button Example");
- // установить диспетчер компоновки FlowLayout
- jfrm.setLayout(new FlowLayout());
- // задать исходные размеры рамки окна <
- jfrm.setSize(220, 90);
- // завершить программу после закрытия окна
- jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- // Создание кнопок
- JButton[]jb=new JButton[n];
- jb[0]=new JButton(text);
- // Добавление приемников событий от кнопки.
- for(int i=0;i<n;i++){
- jb[i].addActionListener(this);
- }
- // Добавление кнопок на панели содержимого.
- for(int i=0;i<n;i++){
- jfrm.add(jb[i]);
- }
- // создать метку
- jlab = new JLabel("Press a button.");
- // добавить метку в рамке окна
- jfrm.add(jlab);
- // отобразить рамку окна
- jfrm.setVisible(true);
- }
- // Обработка событий от кнопки.
- public void actionPerformed(ActionEvent ae) {
- // Для определения нажатой кнопки используется команда действия.
- for(int i=0;i<n;i++){
- if(ae.getActionCommand().equals(text))
- button[i+1].setText(text);
- }
- }
- public static void main(String args[]) {
- // создать рамку окна в потоке диспетчеризации событий
- SwingUtilities.invokeLater(new Runnable() {
- public void run() {
- new Knopki();
- }
- }) ;
- }
- }
Решение задачи: «Создать форму с несколькими кнопками так, чтобы надпись на первой кнопке при ее нажатии передавалась на следую»
textual
Листинг программы
- package knopki;
- import java.awt.FlowLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.*;
- /**
- *
- * @author Nicholas White
- */
- public class Knopki implements ActionListener {
- JLabel jlab;
- private String text;
- private int n;
- JPanel panel;
- JButton[]jb;
- public Knopki() {
- text="Click";
- n=5;
- JFrame jfrm = new JFrame("A Button Example");
- panel = new JPanel(new FlowLayout());
- jfrm.setContentPane(panel);
- jfrm.setSize(220, 90);
- jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- jb=new JButton[n];
- jb[0]=new JButton(text);
- panel.add(jb[0]);
- for(int i=1;i<n;i++){
- jb[i] = new JButton();
- panel.add(jb[i]);
- }
- for(int i=0;i<n;i++){
- jb[i].addActionListener(this);
- }
- jlab = new JLabel("Press a button.");
- panel.add(jlab);
- jfrm.setVisible(true);
- }
- public static void main(String[] args) {
- SwingUtilities.invokeLater(new Runnable() {
- public void run() {
- new Knopki();
- }
- }) ;
- }
- @Override
- public void actionPerformed(ActionEvent e) {
- JButton b = (JButton) e.getSource();
- for(int i = 0; i < n; i++){
- if(b == jb[i]){
- jb[i].setText("");
- if(i == jb.length-1){
- jb[0].setText(text);
- continue;
- }
- jb[i+1].setText(text);
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д