我正在尝试创建一个对象并将其添加到作为我构造的参数GUI对象创建的数组中。由于某些原因,我一直无法将TheDates解析为变量。

正在构造的对象:

public static void main(String[] args)
{
    DateDriver myDateFrame = new DateDriver();
}

//Constructor
public DateDriver()
{
    outputFrame = new JFrame();
    outputFrame.setSize(600, 500);
    outputFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    String command;
    Date [] theDates = new Date[100];    //this is the array I am having issues with
    int month, day, year;

    ...
}


这是我的theDates问题所在:

public void actionPerformed(ActionEvent e)
{    //The meat and Potatoes
     if ( e.getSource() == arg3Ctor)
     {
        JOptionPane.showMessageDialog(null, "3 arg Constructor got it");
        int month = Integer.parseInt(monthField.getText());
        int day = Integer.parseInt(dayField.getText());
        int year = Integer.parseInt(yearField.getText());
        theDates[getIndex()] = new Date(month, day, year);//here is the actual issue
     }
}


我不知道我是否想得太多,还是想什么,我尝试过将数组设为静态,公共等。我还尝试过将其实现为myDayeFrame.theDates

任何指导,不胜感激

最佳答案

您可能遇到范围问题。 theDates在构造函数中声明,并且仅在构造函数中可见。一种可能的解决方案:将其声明为类字段。当然可以在构造函数中对其进行初始化,但是如果在类中声明了它,则它在类中可见。

10-05 18:55