Sto imparando Java e ho provato a realizzare una prima applicazione grafica, questa:che utilizza questo Main: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)); } } }
e questa classe: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); } }
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?codice:class Doppio { private int numero; public Doppio (int numero){ this.numero=numero; } public int getDoppio (){ return(numero*2); } }
Grazie

Rispondi quotando