Ciao a tutti devo svolgere il seguente esercizio in Java:
Completare la definizione in modo che ogni volta che si preme enter nel JTextField centimetri, la
corrispondente misura in pollici venga messa nel JTextField pollici e viceversa (1 pollice = 2.54
cm). Si ricorda che premendo enter nel JTextField si produce un ActionEvent.
Ho fatto il seguente codice
codice:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.*;
import java.io.*;
import java.util.*;
class Convertitore extends JFrame {
TextField centimetri = new TextField(10);
TextField pollici = new TextField(10);
JButton enter = new JButton("Enter");
public Convertitore() {
JPanel panel = new JPanel();
panel.add(centimetri);
panel.add(pollici);
panel.add(enter);
ActionListener conv = (new ActionListener() {
public void actionPerformed(ActionEvent event) {
if(centimetri != null && pollici == null) {
double val = Double.parseDouble(centimetri.getText());
pollici.setText("Pollici = " + Cen_Poll(val));
}
if(centimetri == null && pollici != null) {
double val = Double.parseDouble(pollici.getText());
pollici.setText("Centimetri = " + Poll_Cen(val));
}
else {
pollici.setText("ERRORE");
centimetri.setText("ERRORE");
}
}
});
enter.addActionListener(conv);
getContentPane().add(panel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
public double Cen_Poll(double val) {
//converto da centimetri a pollici
val = (val/2.54);
return val;
}
public double Poll_Cen(double val) {
val = (val * 2.54);
return val;
}
public static void main(String[] args) {
Convertitore convertitore = new Convertitore();
}
}
Solo che se metto i centimetri me li converte in pollici premendo enter, se metto i pollici non fa nulla e tantomeno se non metto nulla....Come posso risolvere quel problema ho provato a mettere questi if ma non funzionano