Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Swing problema

    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

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Swing problema

    Originariamente inviato da Travis9011
    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:
    JTextField casella1=new JTextField();

    Il reference non viene assegnato alla variabile di istanza casella1 ma a questa variabile locale che hai appena definito. Ovviamente quella di istanza rimane null, da lì sbuca fuori il NullPointerException.

    (idem per gli altri JTextField)
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    grazie mille adesso funziona...sono proprio un niubbo..ihhihi

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Per le prossime volte cerca di utilizzare dei titoli significativi, come espressamente richiesto dal regolamento, che vieta l'utilizzo, appunto, di titoli troppo generici come il tuo: titoli di questo genere non dicono nulla del problema, perchè si limitano a dire cose ovvie, ovvero che hai un problema.

    Correggo.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    mi scuso per la mancanza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.