il primo problema è che non ho mai programmato in java.
il secondo problema è che devo per forza programmare in java.
il terzo problema è che sto provando a programmare in java ma non ne vengo fuori e non so più dove sbattere la testa.
siate clementi e abbiate pazienza, probabilmente vi metterete le mani nei capelli...
questo è quello che sono riuscito a fare fino ad ora, in circa una settimana:
codice:
import javax.swing.*;//versione migliorata e potenziata di java.awt
import java.awt.*;//il package java.awt contiene le classi che permettono la creazione di interfacce grafiche
import java.applet.*;//il package applet
import java.awt.event.*;//il package

public class convertitore extends JApplet implements ActionListener

{

	String[] choice={"   --Selezionare grandezza fisica--","Pressione","Energia"};//array formato da...
	String[] energy={"Elettronvolt (eV)","Joule (J)","Calorie (Cal)"};
	String[] pression={"Pascal (Pa)","Millimetri di mercurio (mmHg)","Bar"};
	JLabel name;//etichetta
	JLabel quantityl;
	JComboBox quantityc;//menu di scelta (choice nel package java.awt)
	JLabel valuel;
	JLabel error;
	JTextField valuet;//campo testo
	JLabel startl;
	JComboBox startc;
	JLabel endl;
	JComboBox endc;
	JButton convert;//pulsante
	JLabel resultl;
	JTextField resultt;
	ComboBoxModel enlists;
	ComboBoxModel pressionlists;
	ComboBoxModel enliste;
	ComboBoxModel pressionliste;
	Double bartommhg=75.0064;
	Double mmhgtobar=0.0133;
	Double mmhgtopa=133.3220;
	Double patommhg=0.0075;
	Double bartopa=10000.0;
	Double patobar=0.0001;
	Double evtoj=1.6022e-19;
	Double jtoev=6.2414e18;
	Double evtoca=3.8265e-20;
	Double catoev=2.6131e19;
	Double jtoca=0.2388;
	Double catoj=4.1868;

	public void init()//il metodo init inizializza le variabili prima che l'applet entri in esecuzione

	{

		setLayout(null);//permette la collocazione libera degli elementi grafici nell'interfaccia grafica
		setSize(600,400);//definisce la dimensione dell'interfaccia grafica
		setBackground(Color.gray);

		name=new JLabel("Convertitore di unità di misura",JLabel.CENTER);
		name.setBounds(200,10,200,20);//definisce la posizione e la dimensione di un oggetto
		name.setBackground(Color.white);//definisce il colore dello sfondo
		add(name);//aggiunge l'elemento all'interfaccia grafica

		quantityl=new JLabel("Grandezza da convertire",JLabel.CENTER);
		quantityl.setBounds(200,50,200,20);
		quantityl.setBackground(Color.white);
		add(quantityl);

		quantityc=new JComboBox(choice);
		quantityc.setBounds(190,70,220,20);
		quantityc.setBackground(Color.white);
		quantityc.addActionListener(this);//associa un ascoltatore di eventi all'oggetto
		add(quantityc);

		valuel=new JLabel("Valore da convertire",JLabel.CENTER);
		valuel.setBounds(200,120,200,15);
		valuel.setBackground(Color.white);
		add(valuel);

		valuet=new JTextField();
		valuet.setBounds(200,140,200,20);
		valuet.setBackground(Color.white);
		add(valuet);

		startl=new JLabel("Da");
		startl.setBounds(30,190,20,20);
		add(startl);

		startc=new JComboBox();
		startc.setBounds(50,190,200,20);
		startc.setBackground(Color.white);
		add(startc);

		endl=new JLabel("A");
		endl.setBounds(330,190,20,20);
		endl.setBackground(Color.white);
		add(endl);

		endc=new JComboBox();
		endc.setBounds(350,190,200,20);
		endc.setBackground(Color.white);
		add(endc);

		convert=new JButton("Converti");
		convert.setBounds(250,240,100,20);
		convert.setBackground(new Color (164,187,213));
		convert.addActionListener(this);
		add(convert);

		resultl=new JLabel("Risultato",JLabel.CENTER);
		resultl.setBounds(250,290,100,20);
		resultl.setBackground(Color.white);
		add(resultl);

		resultt=new JTextField();
		resultt.setBounds(200,310,200,20);
		resultt.setBackground(Color.white);
		add(resultt);

		error=new JLabel("",JLabel.CENTER);
		error.setBounds(200,360,200,20);
		error.setForeground(Color.red);//definisce il colore del testo
		add(error);

		enlists=new DefaultComboBoxModel(energy);
		enliste=new DefaultComboBoxModel(energy);

		pressionlists=new DefaultComboBoxModel(pression);
		pressionliste=new DefaultComboBoxModel(pression);

	}

	public void actionPerformed (ActionEvent e)//metodo per la gestione degli eventi

    {

		Object source=e.getSource();

		int idx=quantityc.getSelectedIndex();//assegna un valore intero all'elemento selzionato nel menu "quantityc"

        if(source==quantityc)

        {

			if(idx==1)

			{

				startc.setModel(pressionlists);//setModel permette di associare un modello predefinito
				endc.setModel(pressionliste);

			}

			else if(idx==2)

			{

				startc.setModel(enlists);
				endc.setModel(enliste);

			}


		}

		else if (source==convert)

		{
			String string=valuet.getText().trim();//elimina gli spazi nella stringa contenuta nel campo testo "valuet" e la assegna ad una variabile di tipo string

			try

			{

				Double i=Double.valueOf(string).doubleValue();
				resultt.setText(String.valueOf(i));


			}

			catch (NumberFormatException d)//gestione eccezioni; esegue un controllo sul testo inserito nel campo valuet e restituisce un messaggio nel caso in cui non sia un numero

			{

				error.setText("Inserire valore numerico!!");

			}


			/*Double i=Double.valueOf(string).doubleValue();
				double a=0.0;
				if (idx==1)

				{

					int idxps=startc.getSelectedIndex();
					int idxpe=endc.getSelectedIndex();

					switch (idxps)

					{
						case 1:

						{

							switch(idxpe)

							{
								case 1:
									a=(i);
									break;

								case 2:
									a=(i*patommhg);
									break;

								case 3:
									a=(i*patobar);
									break;
							}
						}

						case 2:

						{

							switch(idxpe)

							{

								case 1:
									a=i*mmhgtopa;
									break;

								case 2:
									a=i;
									break;

								case 3:
									a=i*mmhgtobar;
									break;

							}

						}

						case 3:

						{

							switch(idxpe)

							{

								case 1:
									a=i*bartopa;
									break;

								case 2:
									a=i*bartommhg;
									break;

								case 3:
									a=i;
									break;
							}

						}


				}


	    	}*/
		}

	}





}
sembrerebbe un convertitore di unità di misura, se solo fosse in grado di fare il suo lavoro.
il problema è proprio questo in effetti, non ho la più pallida idea di come gestire la parte relativa alla conversione dei dati.
se qualcuno potesse darmi una mano a completare e sistemare il programma gliene sarei davvero grato.
ovviamente niente di complicato o troppo "avanzato", è evidente che il mio livello di conoscenze rasenta il suolo.
sono alla ricerca della massima semplicità.

un grazie in anticipo.

n