数组TextField [英] array TextField

查看:94
本文介绍了数组TextField的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Na是一个参数.我确定这个参数是正确的. 我声明了一个Na JTextField数组,并且我想使用其中一个.但是当我运行我的代码时,会有一个例外...

Na is a parameter. I'm sure that this parameter is correct. I've declared an array of Na JTextField, And I would like to use one of them. But when I run my code, There is an exception...

那是我的代码:

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);
        }
    }

}

那是一个例外:

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)

推荐答案

此行...

JTextField[] allField = new JTextField [Na];

初始化一个新的ARRAY,它将容纳JTextField对象.数组中有-Na-空格,但每个空格仍为空.您仍然需要创建JTextField对象才能进入空数组空间.

initializes a new ARRAY, which will hold JTextField objects. The array has -Na- spaces in it, but each space is still empty. You still need to create the JTextField object to go into the empty array spaces.

类似的事情应该起作用...

Something like this should work...

for(int i = 0;i < Na;i++)
{
    allField[i] = new JTextField(String.valueOf(0));
    allField[i].setBounds(150, 350 + i * 25, 20, 20);

}

这篇关于数组TextField的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆