tableau TextField
Na est un paramètre. Je suis sûr que ce paramètre est correct.
J'ai déclaré un tableau de Na component swing jtextfield, Et je voudrais utiliser l'un d'eux. Mais lorsque j'exécute mon code, Il y a une exception...
C'est mon code :
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
class Panneau_fenetre1A extends JPanel
{
public Panneau_fenetre1A(int Na)
{
JTextField[] allField = new JTextField [Na];
for(int i = 0;i<Na;i++)
{
allField[i].setText(String.valueOf(0));
allField[i].setBounds(150, 350+i*25,20, 20);
}
}
}
C'est l'exception :
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Panneau_fenetre1A.<init>(Panneau_fenetre1A.java:18)
at Cadre_fenetre1A.<init>(Cadre_fenetre1A.java:13)
at Panneau_fenetre$ecout1.actionPerformed(Panneau_fenetre.java:64)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6268)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6033)
at java.awt.Container.processEvent(Container.java:2045)
at java.awt.Component.dispatchEventImpl(Component.java:4629)
at java.awt.Container.dispatchEventImpl(Container.java:2103)
at java.awt.Component.dispatchEvent(Component.java:4455)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4633)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4297)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4227)
at java.awt.Container.dispatchEventImpl(Container.java:2089)
at java.awt.Window.dispatchEventImpl(Window.java:2517)
at java.awt.Component.dispatchEvent(Component.java:4455)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:649)
at java.awt.EventQueue.access$000(EventQueue.java:96)
at java.awt.EventQueue$1.run(EventQueue.java:608)
at java.awt.EventQueue$1.run(EventQueue.java:606)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
at java.awt.EventQueue$2.run(EventQueue.java:622)
at java.awt.EventQueue$2.run(EventQueue.java:620)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:619)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
Vous devez vous connecter pour publier un commentaire.
Cette ligne...
initialise un TABLEAU qui va contenir le component swing jtextfield objets. Le tableau a -Na - espaces, mais chaque espace est toujours vide. Vous avez encore le besoin de créer l'objet component swing jtextfield pour aller dans le tableau vide des espaces.
Quelque chose comme cela devrait fonctionner...
Vous ai pas réussi à s'initialiser correctement votre tableau. Par conséquent,
allField[i] = null
pour tousi < Na
. D'où laNullPointerException
. Ce qui suit fonctionnera,