salve a tutti ho un problema ho un esercizio da svolgere e l'ho quasi concluso solamente che quando cliccho su calcola mi saltano fuori questi errori:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Giardino.actionPerformed(Giardino.java:79)
at javax.swing.AbstractButton.fireActionPerformed(Abs tractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed (AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultB uttonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.jav a:6038)
at javax.swing.JComponent.processMouseEvent(JComponen t.java:3265)
at java.awt.Component.processEvent(Component.java:580 3)
at java.awt.Container.processEvent(Container.java:205 8)
at java.awt.Component.dispatchEventImpl(Component.jav a:4410)
at java.awt.Container.dispatchEventImpl(Container.jav a:2116)
at java.awt.Component.dispatchEvent(Component.java:42 40)
at java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:3916)
at java.awt.Container.dispatchEventImpl(Container.jav a:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429 )
at java.awt.Component.dispatchEvent(Component.java:42 40)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 599)
at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:121)
il listato del programma è questo:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Giardino extends JFrame implements ActionListener{
double costopiastrella=50;
double manutenzione=25;
double numeropiastrelle;
double spesa,metri;
JTextField casella1;
JTextField casella2;
JTextField casella3;
public Giardino(){
//creazione pannello layout e finestra
setSize(400,400);
setTitle("Giardino");
JPanel pannello=new JPanel();
pannello.setLayout(null);
//creazione componenti
JButton bottone1=new JButton("Calcola");
bottone1.setBounds(300,100,80,30);
JTextField casella1=new JTextField();
casella1.setBounds(50,10,80,30);
JLabel nome1=new JLabel("Raggio");
nome1.setBounds(10,10,80,30);
JTextField casella2=new JTextField();
casella2.setBounds(50,100,80,30);
JLabel nome2=new JLabel("Largh.");
nome2.setBounds(10,100,80,30);
JTextField casella3=new JTextField();
casella3.setBounds(150,300,80,30);
casella3.setEditable(false);
JLabel nome3=new JLabel("Spesa");
nome3.setBounds(100,300,80,30);
//inserimento nel pannello
pannello.add(bottone1);
pannello.add(casella1);
pannello.add(casella2);
pannello.add(casella3);
pannello.add(nome1);
pannello.add(nome2);
pannello.add(nome3);
//aggiunta pannello al content pane
this.getContentPane().add(pannello);
//ActionListener per gestione pulsante
bottone1.addActionListener(this);
//chiusura finestra
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public void actionPerformed(ActionEvent e){
String nome=e.getActionCommand();
if(nome.equals("Calcola")){
double raggio=Double.parseDouble(casella1.getText());
double larghpiastrella=Double.parseDouble(casella2.getTex t());
numeropiastrelle=raggio/larghpiastrella;
metri=numeropiastrelle*numeropiastrelle;
spesa=metri*costopiastrella+manutenzione;
casella3.setText(spesa+"");
}
}
}
}
grazie anticipatamente

Rispondi quotando