package edu.school.dream;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.awt.Font;
import java.awt.Color;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
/**
 * Информатика, 8 клас, издателство Просвета, 2017
 * Автори: Светла Бойчева, Николина Николова, Елиза Стефанова, Антон Денев
 * Урок 3.4.1.2. Цикъл, управляван от брояч
 * Задача:След като прочел притчата за Рокфелер,
 * RxC001 се размечтал: Имам малко спестявания.
 * Ако ги инвестирам в някаква предприемаческа
 * дейност, след месец ще имам двойно;
 * след два месеца — четворно, след година… А след пет
 * какво ще бъде! Напишете програма Dream, която въвежда 
 * размера на инвестицията в лева и броя месеци, за които 
 * RxC001 мисли да я вложи в предприемаческа дейност, а намира
 * и извежда размера (в лева) на сумата, с която би разполагал
 * всеки месец според мечтите си.
 * 
 * Вариант 1.
 */
public class DreamForm extends JFrame {


	private static final long serialVersionUID = 1L;
	private JPanel contentPane;
	private JTextField txtMonths;
	private JTextField txtInitialCapital;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					DreamForm frame = new DreamForm();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public DreamForm() {
		setTitle("\u041C\u0435\u0447\u0442\u0438");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 427, 263);
		contentPane = new JPanel();
		contentPane.setBackground(new Color(255, 255, 204));
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel lblMonths = new JLabel("\u0411\u0440\u043E\u0439 \u043C\u0435\u0441\u0435\u0446\u0438:");
		lblMonths.setBounds(20, 20, 78, 15);
		lblMonths.setForeground(new Color(0, 102, 102));
		lblMonths.setFont(new Font("Tahoma", Font.PLAIN, 12));
		contentPane.add(lblMonths);
		
		txtMonths = new JTextField();
		txtMonths.setBounds(156, 19, 87, 21);
		txtMonths.setFont(new Font("Tahoma", Font.PLAIN, 12));
		contentPane.add(txtMonths);
		txtMonths.setColumns(10);
		
		JLabel lblInitialCapital = new JLabel("\u041D\u0430\u0447\u0430\u043B\u043D\u0430 \u0441\u0443\u043C\u0430 (\u043B\u0432.)");
		lblInitialCapital.setBounds(20, 52, 108, 15);
		lblInitialCapital.setForeground(new Color(0, 102, 102));
		lblInitialCapital.setFont(new Font("Tahoma", Font.PLAIN, 12));
		contentPane.add(lblInitialCapital);
		
		txtInitialCapital = new JTextField();
		txtInitialCapital.setBounds(156, 49, 87, 21);
		txtInitialCapital.setFont(new Font("Tahoma", Font.PLAIN, 12));
		txtInitialCapital.setColumns(10);
		contentPane.add(txtInitialCapital);
		
		JLabel lblResult = new JLabel("\u0420\u0435\u0437\u0443\u043B\u0442\u0430\u0442:");
		lblResult.setBounds(20, 87, 61, 15);
		lblResult.setForeground(new Color(0, 102, 102));
		lblResult.setFont(new Font("Tahoma", Font.BOLD, 12));
		contentPane.add(lblResult);
		
		JButton btnExit = new JButton("\u0418\u0437\u0445\u043E\u0434");
		btnExit.setBounds(270, 188, 113, 23);
		btnExit.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				System.exit(0);
			}
		});
		
		JTextArea txaResult = new JTextArea();
		//txaResult.setBounds(25, 113, 217, 98);
		//contentPane.add(txaResult);
		
		JScrollPane scrollPane = new JScrollPane(txaResult);
		scrollPane.setBounds(25, 113, 217, 98);
		contentPane.add(scrollPane);
		btnExit.setForeground(new Color(0, 0, 0));
		contentPane.add(btnExit);
		
		JButton btnReset = new JButton("\u0418\u0437\u0447\u0438\u0441\u0442\u0438");
		btnReset.setBounds(270, 49, 113, 23);
		btnReset.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				txtInitialCapital.setText("");
				txtMonths.setText("");
				txaResult.setText("");
			}
		});
		btnReset.setForeground(new Color(0, 0, 0));
		contentPane.add(btnReset);
		
		JButton btnCalculate = new JButton("\u041F\u0440\u0435\u0441\u043C\u0435\u0442\u043D\u0438");
		btnCalculate.setBounds(270, 17, 113, 23);
		btnCalculate.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				int endMonth = Integer.parseInt(txtMonths.getText());
				double capital = Double.parseDouble(txtInitialCapital.getText());
				
				String result = "Месец   Капитал\n";
				// цикъл управляван от брояч за натрупване на капитала
				for (int month = 1; month <= endMonth; month++){
					capital *= 2;
					result += String.format("%5d%20.2f лв.\n", month, capital);
				}
				
				txaResult.setText(result);
			}
		});
		btnCalculate.setForeground(new Color(0, 0, 0));
		contentPane.add(btnCalculate);
	}
}
