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
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 funzionanocodice: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(); } }

					
					
					
						
  Rispondi quotando
						
						