Вывод через JButton - Java

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

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

Здравствуйте уважаемые знатоки. Совсем недавно начал изучать Java и выполняя одно из тестовых заданий задумался, почему бы не попробовать сделать форму с кнопками для вывода результатов, но никак не могу не понять как присвоить кнопке значение(переменную), которое было результатом в другом классе этой программы. Т.Е. я понимаю, что нужно унаследовать эту переменную в классе с кнопкой, но не могу понять что именно наследовать.
Листинг программы
  1. import java.lang.*;
  2. public class Bank {
  3. String name;
  4. double capital;
  5. boolean hasBank;
  6. public Bank() {
  7. name = "SumyCentralBank";
  8. capital = 50000.76d;
  9. hasBank = true;
  10. }
  11. public Bank(String name, double capital, boolean hasBank) {
  12. this.name = name;
  13. this.capital = capital;
  14. this.hasBank = hasBank;
  15. }
  16. @Override
  17. public String toString(){
  18. if(this.hasBank)
  19. return ("Имя банка: "+ this.name +". Капитал банка: "+ this.capital +". Наличие банкоматов: да");
  20. else
  21. return ("Имя банка: "+ this.name +". Капитал банка: "+ this.capital +". Наличие банкоматов: нет");
  22.  
  23. }
  24. public double suma(Bank[] user_banks) {
  25. double sum = 0;
  26. for(int i=0; i< user_banks.length; i++){
  27. sum += user_banks[i].capital;
  28. }
  29. return sum;
  30. }
  31.  
  32. public static void main(String[] args) {
  33. Bank[] user_banks = new Bank[10];
  34. user_banks[0] = new Bank("Приват Банк", 2500000, true );
  35. user_banks[1] = new Bank("Брокбізнес Банк",100000 ,false);
  36. user_banks[2] = new Bank("Банк Фінанси та кредит",12000 ,false);
  37. user_banks[3] = new Bank("Укрсиббанк",200000 ,true);
  38. user_banks[4] = new Bank("Сбербанк",100000 ,true);
  39. user_banks[5] = new Bank("Пумб",300000 ,true);
  40. user_banks[6] = new Bank("Надра",0 ,false);
  41. user_banks[7] = new Bank("Аваль", 1500000,true);
  42. user_banks[8] = new Bank("Ощадбанк",1000000 ,false);
  43. user_banks[9] = new Bank("Південний",10000 ,true);
  44. for(int i = 0; i < user_banks.length; i++) {
  45. System.out.println(user_banks[i].toString());
  46. System.out.println("\n");
  47. }
  48. System.out.println(user_banks[0].suma(user_banks));
  49. }
  50. }
Вот сам код из него нужно вывести на разные кнопки сумму и полностью массив. А вот мои попытки привязать хотя б суму к нопке и вывести в label.
Листинг программы
  1. import java.awt.FlowLayout;
  2. import java.awt.event.ActionEvent;
  3. import java.awt.event.ActionListener;
  4. import java.lang.*;
  5. import javax.swing.JButton;
  6. import javax.swing.JFrame;
  7. import javax.swing.JLabel;
  8. public class Bank {
  9. String name;
  10. double capital;
  11. boolean hasBank;
  12. public Bank() {
  13. name = "SumyCentralBank";
  14. capital = 50000.76d;
  15. hasBank = true;
  16. }
  17. public Bank(String name, double capital, boolean hasBank) {
  18. this.name = name;
  19. this.capital = capital;
  20. this.hasBank = hasBank;
  21. }
  22. @Override
  23. public String toString(){
  24. if(this.hasBank)
  25. return ("Im9: "+ this.name +". Capital: "+ this.capital +". Nali4ie: da");
  26. else
  27. return ("Im9: "+ this.name +". Capital: "+ this.capital +". Nali4ie: net");
  28.  
  29. }
  30. public double suma(Bank[] user_banks) {
  31. double sum = 0;
  32. for(int i=0; i< user_banks.length; i++){
  33. sum += user_banks[i].capital;
  34. }
  35. return sum;
  36. }
  37. public static void main(String[] args) {
  38. Bank[] user_banks = new Bank[10];
  39. user_banks[0] = new Bank("Приват Банк", 2500000, true );
  40. user_banks[1] = new Bank("Брокбізнес Банк",100000 ,false);
  41. user_banks[2] = new Bank("Банк Фінанси та кредит",12000 ,false);
  42. user_banks[3] = new Bank("Укрсиббанк",200000 ,true);
  43. user_banks[4] = new Bank("Сбербанк",100000 ,true);
  44. user_banks[5] = new Bank("Пумб",300000 ,true);
  45. user_banks[6] = new Bank("Надра",0 ,false);
  46. user_banks[7] = new Bank("Аваль", 1500000,true);
  47. user_banks[8] = new Bank("Ощадбанк",1000000 ,false);
  48. user_banks[9] = new Bank("Південний",10000 ,true);
  49. for(int i = 0; i < user_banks.length; i++) {
  50. System.out.println(user_banks[i].toString());
  51. System.out.println("\n");
  52. }
  53. System.out.println(user_banks[0].suma(user_banks));
  54.  
  55. ButtonFrame frame = new ButtonFrame();
  56. frame.setSize(300, 100);
  57. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  58. frame.setVisible(true);
  59. }
  60. }
  61. class ButtonFrame extends JFrame{
  62. Bank sum = new Bank sum();
  63. JLabel label=new JLabel();
  64.  
  65. ButtonFrame(){
  66. JButton button = new JButton("Button 1");;
  67. button.addActionListener(new ActionListener( ) {
  68. public void actionPerformed(ActionEvent ae) {
  69. label.setText("Сумма: "+ sum);
  70. }
  71. });
  72. setLayout(new FlowLayout( ));
  73. add(button);
  74. add(label);
  75. }
  76. }
Но постоянно выдает ошибки.
Листинг программы
  1. C:\Program Files\Java\jdk1.8.0_65\bin>javac Bank.java
  2. Bank.java:72: error: '(' or '[' expected
  3. Bank sum = new Bank sum();
  4. ^
  5. Bank.java:72: error: illegal start of type
  6. Bank sum = new Bank sum();
  7. ^
  8. Bank.java:72: error: <identifier> expected
  9. Bank sum = new Bank sum();
  10. ^
  11. 3 errors

Решение задачи: «Вывод через JButton»

textual
Листинг программы
  1. Т.Е. я понимаю, что нужно унаследовать эту переменную в классе с кнопкой, но не могу понять что именно наследовать.

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


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

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

9   голосов , оценка 3.889 из 5

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

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

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