package edu.school;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.Color;
import javax.swing.JButton;
import java.awt.Font;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.SwingConstants;
import java.awt.SystemColor;
/**
 * Информатика, 8 клас, издателство Просвета, 2017
 * Автори: Светла Бойчева, Николина Николова, Елиза Стефанова, Антон Денев
 * Урок 3.1.3. Реални типове данни
 * Задача:На опасен пътен участък е поставен радар,
 * който засича скоростта на преминаващите
 * превозни средства. Знаем, че водачите предприемат 
 * изпреварване с ускорение средно
 * 0.6 m/s2 за около 9 s. Каква е максималната начална 
 * скорост, при която могат да започнат
 * изпреварване така, че да не надвишат ограничениeтo за
 * скоростта от 120 km/h?
 * Да се направи приложение „Радар“, което по зададена 
 * начална скорост да пресмята скоростта, която би 
 * засякъл радар при изпреварване.
 * 
 * Версия 1.
 */


public class CarFrame extends JFrame {

	private JPanel contentPane;
	private JTextField txtInitialSpeed;

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

	/**
	 * Create the frame.
	 */
	public CarFrame() {
		setTitle("\u0420\u0430\u0434\u0430\u0440");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 346, 208);
		contentPane = new JPanel();
		contentPane.setBackground(SystemColor.controlHighlight);
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);

		JLabel lblCurrentSpeed = new JLabel("");
		lblCurrentSpeed.setHorizontalAlignment(SwingConstants.RIGHT);
		lblCurrentSpeed.setOpaque(true);
		lblCurrentSpeed.setBackground(new Color(211, 211, 211));
		lblCurrentSpeed.setForeground(new Color(255, 69, 0));
		lblCurrentSpeed.setFont(new Font("Consolas", Font.PLAIN, 36));
		lblCurrentSpeed.setBounds(25, 126, 287, 33);
		contentPane.add(lblCurrentSpeed);

		JButton btnCalc = new JButton("\u041F\u0420\u0415\u0421\u041C\u0415\u0422\u041D\u0418");
		btnCalc.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {

				final float HOURS_PER_SECOND = 2.77777778e-4F;
				final float KILOMETERS_PER_METER = 0.001F;
				float time = 9.0f;
				float acceleration = .6f;

				time *= HOURS_PER_SECOND;

				acceleration *= KILOMETERS_PER_METER / (HOURS_PER_SECOND * HOURS_PER_SECOND);

				float initialSpeed = Float.parseFloat(txtInitialSpeed.getText());

				float currentSpeed = initialSpeed + acceleration * time;

				lblCurrentSpeed.setText(Float.toString(currentSpeed));

			}
		});
		btnCalc.setFont(new Font("Tahoma", Font.PLAIN, 14));
		btnCalc.setBounds(189, 31, 123, 47);
		contentPane.add(btnCalc);

		JLabel lblNewLabel = new JLabel(
				"\u043D\u0430\u0447\u0430\u043B\u043D\u0430 \u0441\u043A\u043E\u0440\u043E\u0441\u0442");
		lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 16));
		lblNewLabel.setBounds(25, 31, 154, 14);
		contentPane.add(lblNewLabel);

		txtInitialSpeed = new JTextField();
		txtInitialSpeed.setHorizontalAlignment(SwingConstants.RIGHT);
		txtInitialSpeed.setBounds(25, 56, 86, 26);
		contentPane.add(txtInitialSpeed);
		txtInitialSpeed.setColumns(10);

		JLabel lblKmh = new JLabel("km/h");
		lblKmh.setFont(new Font("Tahoma", Font.BOLD, 16));
		lblKmh.setBounds(121, 60, 56, 14);
		contentPane.add(lblKmh);

		JLabel lbln = new JLabel("\u0420\u0430\u0434\u0430\u0440 (km/h):");
		lbln.setFont(new Font("Tahoma", Font.BOLD, 16));
		lbln.setBounds(25, 95, 131, 33);
		contentPane.add(lbln);

	}

}
