Konwenter Stopni Celciusza i Fahrenheita

0

Witam, piszę program do przeliczania temperatury z Celciusza na Fahrenheita i odwrotnie, program ogólnie działa z jednym ale; jak wpisuje liczbe w pole stopnie fahrenheita i klikam oblicz to zamiast przeliczyc na stopnie celciusza, waraca do wyniku który napisałem. Mógbły mi ktoś pomóc to naprawić?

package aplikacja;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.TextEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class MyFrame extends JFrame implements ActionListener{

JLabel LCelciusz, LFahrenhiet;
JTextField tCelciusz, tFahrenheit;
JButton przycisk;
double tempCelcius, tempFahrenheit;
int znak;

public MyFrame() {
	
	
	setTitle("Przelicznik");
	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	setVisible(true);
	setSize(300,150);
	setLocation(100,100);
	setLayout(null);
	
	przycisk=new JButton("Oblicz");
	przycisk.setBounds(200,80,70,25);
	add(przycisk);
	przycisk.addActionListener(this);

	LCelciusz = new JLabel("Stopnie Celciusza:");
	LCelciusz.setBounds(10, 10, 150, 20);
	add(LCelciusz);
	
	tCelciusz= new JTextField("");
	tCelciusz.setBounds(150,10,100,20);
	add(tCelciusz);
	tCelciusz.addActionListener(this);
	
	LFahrenhiet= new JLabel("Stopnie Fahrenheita:");
	LFahrenhiet.setBounds(10,50,150,20);
	add(LFahrenhiet);
	
	tFahrenheit= new JTextField("");
	tFahrenheit.setBounds(150,50,100,20);
	add(tFahrenheit);
	tFahrenheit.addActionListener(this);
	
}


public void textValueChanged(TextEvent e)
{
	Object zrodlo = e.getSource();
	if(zrodlo==tFahrenheit)
	{
		znak=1;
	}
	else if(zrodlo==tCelciusz)
	{
		znak=0;
	}
}

@Override
public void actionPerformed(ActionEvent e) 
{	
	Object zrodlo = e.getSource();
	if(zrodlo==tFahrenheit || znak==1)
	{
		tempFahrenheit = Double.parseDouble(tFahrenheit.getText());
		tempCelcius = (9/5) * (tempFahrenheit-32);
		tCelciusz.setText(String.valueOf(tempCelcius));
	}
	if (zrodlo==tCelciusz || znak==0);
	{
		tempCelcius = Double.parseDouble(tCelciusz.getText());
		tempFahrenheit = 32 + (9/5) * tempCelcius;
		tFahrenheit.setText(String.valueOf(tempFahrenheit));
	}
	
}

}
package aplikacja;

import java.awt.EventQueue;

public class Test {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {

		@Override
		public void run() {
			new MyFrame();
			
			
		}
	});
}	

}

0

w programie moim zdaniem jest tak jakby wszystko dobrze, tylko dodales listenera do przycisku, a nie do pola tekstowego, więc program najpierw ci sprawdza pole tCelciusz i przelicza na tempFahrenheit. Wywal przycisk i dodaj listenera do pola tekstowego i bedzie hulać

1 użytkowników online, w tym zalogowanych: 0, gości: 1