import java.awt.Font;

import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class FahrenhaytSelsiyusDonustur {
 
	public static JSlider fahrenhaytSlider;
    public static JSlider selsiyusSlider;
    public static JLabel sicaklikLabel;
    
    public static char ciftYonluOk = '\u2948';
    
    public FahrenhaytSelsiyusDonustur() {
      	
    	JFrame frame = new JFrame("Sıcaklık Dönştürücü °F " + ciftYonluOk + " °C | Java Blackboard [096]");
        
        // Fahrenhayt slider'ı yapıyoruz
    	fahrenhaytSlider = new JSlider(JSlider.HORIZONTAL, -40, 248, 32); 
        
    	fahrenhaytSlider.setPaintTicks(true);
    	fahrenhaytSlider.setMajorTickSpacing(20);
    	fahrenhaytSlider.setMinorTickSpacing(5);
    	fahrenhaytSlider.setPaintLabels(true);
    	fahrenhaytSlider.setBounds(50, 10, 700, 50);

    	fahrenhaytSlider.addChangeListener(new ChangeListener() {
            public void stateChanged(ChangeEvent e) {
              
            	int fahrenheit = fahrenhaytSlider.getValue();
                int celsius = (int)((fahrenheit - 32) * (5.0 / 9.0));
                
                selsiyusSlider.setValue(celsius);
               
                temperatureLabelGüncelle();
                
                
            }
        });
       
        frame.add(fahrenhaytSlider);
        
        // selsiyusSlider slider'ı yapıyoruz
        selsiyusSlider = new JSlider(JSlider.HORIZONTAL, -40, 120, 0);
        
        selsiyusSlider.setPaintTicks(true);
        selsiyusSlider.setMajorTickSpacing(20);
        selsiyusSlider.setMinorTickSpacing(5);
        selsiyusSlider.setPaintLabels(true);
        selsiyusSlider.setBounds(50, 120, 700, 50);

        selsiyusSlider.addChangeListener(new ChangeListener() {
            public void stateChanged(ChangeEvent e) {
                
            	int celsius = selsiyusSlider.getValue();
                int fahrenheit = (int)(celsius * (9.0 / 5.0) + 32);
                
                fahrenhaytSlider.setValue(fahrenheit);
                
                temperatureLabelGüncelle();
            }
        });
        frame.add(selsiyusSlider);
        
        // Sicaklik label
        sicaklikLabel = new JLabel(" °F " + ciftYonluOk + " °C ");
        sicaklikLabel.setFont(new Font("Ubuntu", Font.PLAIN, 97));
        sicaklikLabel.setHorizontalAlignment(JLabel.CENTER);
        sicaklikLabel.setBounds(0, 200, 800, 200);
        
        frame.add(sicaklikLabel);
       
        frame.setSize(800,450);
		frame.setLayout(null);
		frame.setLocationRelativeTo(null);
		frame.setResizable(false);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);    }
    
    private void temperatureLabelGüncelle() {
      
    	int fahrenhayt = fahrenhaytSlider.getValue();
        int selsiyus = selsiyusSlider.getValue();
       
        sicaklikLabel.setText(fahrenhayt + " °F " + ciftYonluOk + " °C " + selsiyus);
    }
    
}