Sto imparando Java e ho provato a realizzare una prima applicazione grafica, questa:
codice:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.text.*;


public class DFrame extends JFrame {
									private int numero;
									private int numerodoppio;
									private JButton calcola = new JButton("Calcola");
									private JTextField textFieldnum = new JTextField(2);
									private JTextField textFielddop = new JTextField(3);
									private JLabel
											lNum = new JLabel("Numero ",JLabel.RIGHT),
											lDoppio = new JLabel("Doppio ",JLabel.RIGHT);
									private JPanel
									        input = new JPanel(),
									        output = new JPanel(),
									        pulsanti = new JPanel();
									public DFrame(){
									        setTitle("Doppio");
									        setDefaultCloseOperation(EXIT_ON_CLOSE);
									        Container cp=getContentPane();//cp è il contenitore generale degli altri pannelli
									        
									input.setLayout(new FlowLayout());//Imposta il tipo di modello grafico
									input.add(lNum);
									input.add(textFieldnum);
									
									output.setLayout(new FlowLayout());//Imposta il tipo di modello grafico
									output.add(lDoppio);
									output.add(textFielddop);
									
									pulsanti.setLayout(new BorderLayout());
									pulsanti.add(calcola, BorderLayout.CENTER);
									
									input.setBackground(Color.yellow);
									output.setBackground(Color.green);
									
									cp.setLayout(new BorderLayout());
									cp.add(input, BorderLayout.EAST);
									cp.add(output, BorderLayout.WEST);
									cp.add(pulsanti, BorderLayout.SOUTH);
									
									textFieldnum.addActionListener(new LeggiNumero());
									calcola.addActionListener(new CalcolaDoppio());
									pack();//Assegna le dimensioni minime alla finestra per contenere tutti gli elementi									
									}
									
									class LeggiNumero implements ActionListener{
																				public void actionPerformed(ActionEvent e){
																															numero=Integer.parseInt(textFieldnum.getText());
																															}
																				}
									
									class CalcolaDoppio implements ActionListener{
									public void actionPerformed(ActionEvent e){
																				Doppio doppio = new Doppio(numero);
																				numerodoppio=doppio.getDoppio();
																				textFielddop.setText(String.valueOf(numerodoppio));
																			  }
									}
									}
che utilizza questo Main:
codice:
import java.awt.*;

public class Main {

	public static void main (String args[]) {
											 DFrame finestra = new DFrame();
											 Toolkit kit = finestra.getToolkit();
											 Dimension dim = kit.getScreenSize();
											 finestra.setBounds(dim.width/4, dim.height/4, dim.width/4, dim.height/4);
											 finestra.setVisible(true);
											 		
	}
}
e questa classe:
codice:
class Doppio {
			  private int numero;
public Doppio (int numero){
							this.numero=numero;							
							}
public int getDoppio (){
							return(numero*2);							
							}							
}
Ho compilato questi file tramite la IDE Geany su Ubuntu 10.04. Tutto viene compilato ma quando premo il pulsante calcola, invece che il doppio del numero inserito (che è l'obbiettivo del programma), mi appare 0. Sapreste per favore dirmi dove può essere l'errore?
Grazie