Создать форму с несколькими кнопками так, чтобы надпись на первой кнопке при ее нажатии передавалась на следую - Java

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

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

Помогите доработать код
Листинг программы
  1. package zadacha;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. import javax.swing.*;
  5. class Knopki extends JFrame implements ActionListener {
  6. JLabel jlab;
  7. Knopki() {
  8. private String text="Click";
  9. private int n=5;
  10. // создать новый контейнер JFrame
  11. JFrame jfrm = new JFrame("A Button Example");
  12. // установить диспетчер компоновки FlowLayout
  13. jfrm.setLayout(new FlowLayout());
  14. // задать исходные размеры рамки окна <
  15. jfrm.setSize(220, 90);
  16. // завершить программу после закрытия окна
  17. jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  18.  
  19. // Создание кнопок
  20. JButton[]jb=new JButton[n];
  21. jb[0]=new JButton(text);
  22. // Добавление приемников событий от кнопки.
  23. for(int i=0;i<n;i++){
  24. jb[i].addActionListener(this);
  25. }
  26. // Добавление кнопок на панели содержимого.
  27. for(int i=0;i<n;i++){
  28. jfrm.add(jb[i]);
  29. }
  30. // создать метку
  31. jlab = new JLabel("Press a button.");
  32. // добавить метку в рамке окна
  33. jfrm.add(jlab);
  34. // отобразить рамку окна
  35. jfrm.setVisible(true);
  36. }
  37. // Обработка событий от кнопки.
  38. public void actionPerformed(ActionEvent ae) {
  39. // Для определения нажатой кнопки используется команда действия.
  40. for(int i=0;i<n;i++){
  41. if(ae.getActionCommand().equals(text))
  42. button[i+1].setText(text);
  43. }
  44. }
  45. public static void main(String args[]) {
  46. // создать рамку окна в потоке диспетчеризации событий
  47. SwingUtilities.invokeLater(new Runnable() {
  48. public void run() {
  49. new Knopki();
  50. }
  51. }) ;
  52. }
  53. }

Решение задачи: «Создать форму с несколькими кнопками так, чтобы надпись на первой кнопке при ее нажатии передавалась на следую»

textual
Листинг программы
  1. package knopki;
  2.  
  3. import java.awt.FlowLayout;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. import javax.swing.*;
  7.  
  8. /**
  9.  *
  10.  * @author Nicholas White
  11.  */
  12. public class Knopki implements ActionListener {
  13.  
  14.     JLabel jlab;
  15.     private String text;
  16.     private int n;
  17.    
  18.     JPanel panel;
  19.     JButton[]jb;
  20.  
  21.    public Knopki() {
  22.          text="Click";
  23.          n=5;
  24.         JFrame jfrm = new JFrame("A Button Example");
  25.         panel = new JPanel(new FlowLayout());
  26.         jfrm.setContentPane(panel);
  27.         jfrm.setSize(220, 90);
  28.         jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  29.        
  30.         jb=new JButton[n];
  31.         jb[0]=new JButton(text);
  32.          panel.add(jb[0]);
  33.          
  34.         for(int i=1;i<n;i++){
  35.             jb[i] = new JButton();
  36.             panel.add(jb[i]);
  37.             }
  38.        
  39.         for(int i=0;i<n;i++){
  40.         jb[i].addActionListener(this);
  41.         }
  42.        
  43.         jlab = new JLabel("Press a button.");
  44.         panel.add(jlab);
  45.        
  46.         jfrm.setVisible(true);
  47.     }
  48.    
  49.     public static void main(String[] args) {
  50.         SwingUtilities.invokeLater(new Runnable() {
  51.             public void run() {
  52.                 new Knopki();
  53.             }
  54.         }) ;
  55.     }
  56.  
  57.     @Override
  58.     public void actionPerformed(ActionEvent e) {
  59.         JButton b = (JButton) e.getSource();
  60.         for(int i = 0; i < n; i++){
  61.            
  62.             if(b == jb[i]){
  63.                 jb[i].setText("");
  64.                 if(i == jb.length-1){
  65.                     jb[0].setText(text);
  66.                     continue;
  67.                 }
  68.                 jb[i+1].setText(text);          
  69.             }
  70.         }
  71.     }
  72.    
  73. }

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


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

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

14   голосов , оценка 4 из 5

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

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

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