Вывод через JButton - Java
Формулировка задачи:
Здравствуйте уважаемые знатоки. Совсем недавно начал изучать Java и выполняя одно из тестовых заданий задумался, почему бы не попробовать сделать форму с кнопками для вывода результатов, но никак не могу не понять как присвоить кнопке значение(переменную), которое было результатом в другом классе этой программы. Т.Е. я понимаю, что нужно унаследовать эту переменную в классе с кнопкой, но не могу понять что именно наследовать.Вот сам код из него нужно вывести на разные кнопки сумму и полностью массив.
А вот мои попытки привязать хотя б суму к нопке и вывести в label. Но постоянно выдает ошибки.
import java.lang.*; public class Bank { String name; double capital; boolean hasBank; public Bank() { name = "SumyCentralBank"; capital = 50000.76d; hasBank = true; } public Bank(String name, double capital, boolean hasBank) { this.name = name; this.capital = capital; this.hasBank = hasBank; } @Override public String toString(){ if(this.hasBank) return ("Имя банка: "+ this.name +". Капитал банка: "+ this.capital +". Наличие банкоматов: да"); else return ("Имя банка: "+ this.name +". Капитал банка: "+ this.capital +". Наличие банкоматов: нет"); } public double suma(Bank[] user_banks) { double sum = 0; for(int i=0; i< user_banks.length; i++){ sum += user_banks[i].capital; } return sum; } public static void main(String[] args) { Bank[] user_banks = new Bank[10]; user_banks[0] = new Bank("Приват Банк", 2500000, true ); user_banks[1] = new Bank("Брокбізнес Банк",100000 ,false); user_banks[2] = new Bank("Банк Фінанси та кредит",12000 ,false); user_banks[3] = new Bank("Укрсиббанк",200000 ,true); user_banks[4] = new Bank("Сбербанк",100000 ,true); user_banks[5] = new Bank("Пумб",300000 ,true); user_banks[6] = new Bank("Надра",0 ,false); user_banks[7] = new Bank("Аваль", 1500000,true); user_banks[8] = new Bank("Ощадбанк",1000000 ,false); user_banks[9] = new Bank("Південний",10000 ,true); for(int i = 0; i < user_banks.length; i++) { System.out.println(user_banks[i].toString()); System.out.println("\n"); } System.out.println(user_banks[0].suma(user_banks)); } }
import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.lang.*; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; public class Bank { String name; double capital; boolean hasBank; public Bank() { name = "SumyCentralBank"; capital = 50000.76d; hasBank = true; } public Bank(String name, double capital, boolean hasBank) { this.name = name; this.capital = capital; this.hasBank = hasBank; } @Override public String toString(){ if(this.hasBank) return ("Im9: "+ this.name +". Capital: "+ this.capital +". Nali4ie: da"); else return ("Im9: "+ this.name +". Capital: "+ this.capital +". Nali4ie: net"); } public double suma(Bank[] user_banks) { double sum = 0; for(int i=0; i< user_banks.length; i++){ sum += user_banks[i].capital; } return sum; } public static void main(String[] args) { Bank[] user_banks = new Bank[10]; user_banks[0] = new Bank("Приват Банк", 2500000, true ); user_banks[1] = new Bank("Брокбізнес Банк",100000 ,false); user_banks[2] = new Bank("Банк Фінанси та кредит",12000 ,false); user_banks[3] = new Bank("Укрсиббанк",200000 ,true); user_banks[4] = new Bank("Сбербанк",100000 ,true); user_banks[5] = new Bank("Пумб",300000 ,true); user_banks[6] = new Bank("Надра",0 ,false); user_banks[7] = new Bank("Аваль", 1500000,true); user_banks[8] = new Bank("Ощадбанк",1000000 ,false); user_banks[9] = new Bank("Південний",10000 ,true); for(int i = 0; i < user_banks.length; i++) { System.out.println(user_banks[i].toString()); System.out.println("\n"); } System.out.println(user_banks[0].suma(user_banks)); ButtonFrame frame = new ButtonFrame(); frame.setSize(300, 100); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } } class ButtonFrame extends JFrame{ Bank sum = new Bank sum(); JLabel label=new JLabel(); ButtonFrame(){ JButton button = new JButton("Button 1");; button.addActionListener(new ActionListener( ) { public void actionPerformed(ActionEvent ae) { label.setText("Сумма: "+ sum); } }); setLayout(new FlowLayout( )); add(button); add(label); } }
C:\Program Files\Java\jdk1.8.0_65\bin>javac Bank.java Bank.java:72: error: '(' or '[' expected Bank sum = new Bank sum(); ^ Bank.java:72: error: illegal start of type Bank sum = new Bank sum(); ^ Bank.java:72: error: <identifier> expected Bank sum = new Bank sum(); ^ 3 errors
Решение задачи: «Вывод через JButton»
textual
Листинг программы
Т.Е. я понимаю, что нужно унаследовать эту переменную в классе с кнопкой, но не могу понять что именно наследовать.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д