【问题标题】:Adding array of JRadioButtons with variable length to a JWindow将具有可变长度的 JRadioButtons 数组添加到 JWindow
【发布时间】:2013-03-21 09:56:19
【问题描述】:

大家好,我试图向 JWindow 添加一个可变长度的数组,但出现运行时错误。需要这里的帮助..

这是我的代码:

    package components;

import java.util.Calendar;

public class FullDay extends javax.swing.JWindow {

    public FullDay() {
        initComponents();
    }                         
    private void initComponents() {

        int i;
//to get the no of days of the current month.

        Calendar cal = Calendar.getInstance();
        int maxdays = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
        getContentPane().setLayout(new java.awt.FlowLayout());

//Creating an array of radiobuttons having size equal to the no of days of the current //month

        for(i=0; i<maxdays; i++) {
            jRadioButton[maxdays] = new javax.swing.JRadioButton();
            getContentPane().add(jRadioButton[i]);
        }        

        pack();

    }
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new FullDay().setVisible(true);
            }
        });
    }
    private javax.swing.JRadioButton jRadioButton[];
}

但我得到的错误是:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at components.FullDay.initComponents(FullDay.java:18)
at components.FullDay.<init>(FullDay.java:8)
at components.FullDay$1.run(FullDay.java:30)
at java.awt.event.InvocationEvent.dispatch(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)

【问题讨论】:

    标签: java arrays swing jradiobutton jwindow


    【解决方案1】:

    分配前检查jRadioButton数组是否创建。

    【讨论】:

    • Hay StanislavL 请让这个程序正常工作。我什么都试过了。
    • Hay Mavrick 请付钱给我,让我让这个程序发挥作用,或者比一切都尝试更多。
    【解决方案2】:

    你需要初始化你的 JRadioButton 数组

    JRadioButton jRadioButton[] = new JRadioButton[someValue];
    

    【讨论】:

    • 试试下面的 JRadioButton jRadioButton[] = new JRadioButton[maxdays]; for(i=0; i
    • @user2194480 如果你不能使用这个(或任何其他)答案来自己修复你的代码,你必须退后一步,重新学习/学习一些 java 基础知识;-)
    【解决方案3】:

    您可能想要初始化数组的第 i 个字段,而不是总是初始化最后一个:

     jRadioButton[i] = new javax.swing.JRadioButton();
    

    代替:

     jRadioButton[maxdays] = new javax.swing.JRadioButton();
    

    此外,正如前面的答案所述,在循环之外创建数组本身。

    【讨论】:

    • Hay Steltem 请让这个程序正常工作。我什么都试过了,伙计。即使在您提出建议后也无法正常工作...
    猜你喜欢
    • 2018-12-23
    • 1970-01-01
    • 1970-01-01
    • 2012-03-22
    • 2016-11-09
    • 1970-01-01
    • 2022-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多