Вывод через 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
Листинг программы
- Т.Е. я понимаю, что нужно унаследовать эту переменную в классе с кнопкой, но не могу понять что именно наследовать.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д