
java.lang.NullPointerException
Publicado por oscar (13 intervenciones) el 04/08/2016 02:21:23
Buenas necesitaba si me pueden ayudar con dos problemas en dos programitas diferentes , uno de un calculadora que expongo y tambien el fallo que da y otro ejemplo de eventos y su error que sucede al pulsar el boton nuevo.
me pueden ayudar a saber que carajo les pasa , revise el codigo y reescribi de nuevo y falla y falla .....
no encuentro el error.
me arrojan algo de luz???
gracias de antemano
calculadora
Exception in thread "main" java.lang.NullPointerException
at graficos.LaminaCalculadora.ponerBoton(Calculadora.java:82)
at graficos.LaminaCalculadora.<init>(Calculadora.java:56)
at graficos.MarcoCalculadora.<init>(Calculadora.java:28)
at graficos.Calculadora.main(Calculadora.java:14)
eventos
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at graficos.Marco_Emergente.<init>(VariosOyentes.java:79)
at graficos.Lamina_Principal$OyenteNuevo.actionPerformed(VariosOyentes.java:58)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
me pueden ayudar a saber que carajo les pasa , revise el codigo y reescribi de nuevo y falla y falla .....
no encuentro el error.
me arrojan algo de luz???
gracias de antemano
calculadora
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
package graficos;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Calculadora {
public static void main(String[] args) {
// TODO Auto-generated method stub
MarcoCalculadora mimarco=new MarcoCalculadora();
mimarco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mimarco.setVisible(true);
}
}
class MarcoCalculadora extends JFrame{
public MarcoCalculadora(){
setTitle("Calculadora");
setBounds(600, 100, 300 , 400);
LaminaCalculadora milamina=new LaminaCalculadora();
add(milamina);
}
}
class LaminaCalculadora extends JPanel{
public LaminaCalculadora(){
principio=true;
setLayout(new BorderLayout());
JButton pantalla=new JButton("0");
pantalla.setEnabled(false);
add(pantalla,BorderLayout.NORTH);
JPanel milamina2=new JPanel();
milamina2.setLayout(new GridLayout(4, 4));
ActionListener insertar=new InsertaNumero();
ActionListener orden=new AccionOrden();
ponerBoton("7",insertar);
ponerBoton("8",insertar);
ponerBoton("9",insertar);
ponerBoton("/",orden);
ponerBoton("4",insertar);
ponerBoton("5",insertar);
ponerBoton("6",insertar);
ponerBoton("*",orden);
ponerBoton("1",insertar);
ponerBoton("2",insertar);
ponerBoton("3",insertar);
ponerBoton("-",orden);
ponerBoton("0",insertar);
ponerBoton(".",insertar);
ponerBoton("=",insertar);
ponerBoton("+",insertar);
add(milamina2, BorderLayout.CENTER);
ultimaOperacion="=";
}
private void ponerBoton(String rotulo, ActionListener oyente){
JButton boton=new JButton(rotulo);
boton.addActionListener(oyente);
milamina2.add(boton);
}
private class InsertaNumero implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String entrada=e.getActionCommand();
if(principio==true){
pantalla.setText("");
principio=false;
}
pantalla.setText(pantalla.getText() + entrada);
}
}
private class AccionOrden implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String operacion=e.getActionCommand();
calcular(Double.parseDouble(pantalla.getText()));
ultimaOperacion=operacion;
principio=true;
}
public void calcular(double x){
if(ultimaOperacion.equals("+")){ resultado+=x;
}
else if(ultimaOperacion.equals("-")){ resultado-=x;
}
else if(ultimaOperacion.equals("*")){ resultado*=x;
}
else if(ultimaOperacion.equals("/")){ resultado/=x;
}
else if(ultimaOperacion.equals("=")){ resultado=x;
}
pantalla.setText("" + resultado);
}
}
private JButton pantalla;
private JPanel milamina2;
private boolean principio;
private double resultado;
private String ultimaOperacion;
}
Exception in thread "main" java.lang.NullPointerException
at graficos.LaminaCalculadora.ponerBoton(Calculadora.java:82)
at graficos.LaminaCalculadora.<init>(Calculadora.java:56)
at graficos.MarcoCalculadora.<init>(Calculadora.java:28)
at graficos.Calculadora.main(Calculadora.java:14)
eventos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package graficos;
import java.awt.event.*;
import javax.swing.*;
public class VariosOyentes{
public static void main(String[] args){
// TODO Auto-generated method stub
Marco_Principal mimarco=new Marco_Principal();
mimarco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mimarco.setVisible(true);
}
}
class Marco_Principal extends JFrame{
public Marco_Principal(){
setTitle("Prueba Varios");
setBounds(500,100,250,150);
Lamina_Principal lamina=new Lamina_Principal();
add(lamina);
}
}
class Lamina_Principal extends JPanel{
public Lamina_Principal(){
JButton boton_nuevo=new JButton("Nuevo");
add(boton_nuevo);
JButton boton_cerrar=new JButton("Cerrar Todo");
add(boton_cerrar);
OyenteNuevo miOyente=new OyenteNuevo();
boton_nuevo.addActionListener(miOyente);
}
private class OyenteNuevo implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
Marco_Emergente marco=new Marco_Emergente(boton_cerrar);
marco.setVisible(true);
}
}
JButton boton_cerrar;
}
class Marco_Emergente extends JFrame{
public Marco_Emergente(JButton boton_de_principal){
contador++;
setTitle("Ventana " + contador);
setBounds(40*contador,40*contador,250,150);
CierraTodos oyenteCerrar=new CierraTodos();
boton_de_principal.addActionListener(oyenteCerrar);
}
private class CierraTodos implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
dispose();
}
}
private static int contador=0;
}
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at graficos.Marco_Emergente.<init>(VariosOyentes.java:79)
at graficos.Lamina_Principal$OyenteNuevo.actionPerformed(VariosOyentes.java:58)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Valora esta pregunta


0