Java swing finestra nuova evento su jbutton

di il
1 risposte

Java swing finestra nuova evento su jbutton

Non capisco perchè mi lancia un eccezzione il programma.

:

import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class MainVoli {

public static void main(String[] args) {

SfondoFrame frame=new SfondoFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

}
}

@SuppressWarnings("serial")
class SfondoFrame extends JFrame{

private static final int WIDTH=800;
private static final int HEIGHT=800;

public SfondoFrame() {

this.setTitle("Compagnia_aerea");
this.setSize(WIDTH,HEIGHT);
this.setLocationRelativeTo(null);
this.setResizable(false);

SfondoPanel panel = new SfondoPanel();
this.add(panel);



}


class SfondoPanel extends JPanel {

private JButton buttonaccedi;
private JButton buttonregistrati;
private JButton buttonesci;
private JTextField fieldaccedi;


public SfondoPanel() {

buttonaccedi.addActionListener(new MyActionListener());
buttonregistrati.addActionListener(new MyActionListener());
buttonesci.addActionListener(new MyActionListener());
fieldaccedi.addActionListener(new MyActionListener());

this.add(buttonaccedi);
this.add(buttonesci);
this.add(buttonregistrati);
}

class MyActionListener implements ActionListener

{// inizio classe MyActionListener


@Override
public void actionPerformed(ActionEvent ae) {
Object source = ae.getSource();
if(source==buttonaccedi) {
String messaggio="hello";
JOptionPane.showMessageDialog(null, messaggio,"conferma",JOptionPane.INFORMATION_MESSAGE);


}
}
}




}






}

Exception in thread "main" java.lang.NullPointerException
at esame_2019.SfondoFrame$SfondoPanel.<init>(MainVoli.java:55)
at esame_2019.SfondoFrame.<init>(MainVoli.java:37)
at esame_2019.MainVoli.main(MainVoli.java:17)

1 Risposte

  • Re: Java swing finestra nuova evento su jbutton

    jack555 ha scritto:


    Non capisco perchè mi lancia un eccezzione il programma.
    Hai fatto dei

    buttonaccedi.addActionListener(new MyActionListener());
    buttonregistrati.addActionListener(new MyActionListener());
    buttonesci.addActionListener(new MyActionListener());
    fieldaccedi.addActionListener(new MyActionListener());


    ma questi buttonaccedi, buttonregistrati, ecc... sono variabili di istanza che NON hai inizializzato. Ovvero, non hai creato questi componenti e assegnati alle variabili.
Devi accedere o registrarti per scrivere nel forum
1 risposte