0

此代码似乎与我在网上找到的示例非常接近,但它不正确,而且我找不到与我正在尝试做的匹配的示例。也许我只是没有正确设置参数和字段;或者我的方法可能是错误的。

package vibrationSimulator;

import java.awt.EventQueue;
import java.util.ArrayList;
import java.util.List;

import sineWaveAnimation.SineDisplay;
import audioOutput.JFrame_sliderSine;

public class VibrationSimulator {

    private static List<MachineParameters> machineParameterArray;
    private static int ia;
    private static MachineParameters machineParameter_1;

    public static void main(String[] args) {
        Start();
    }

    public static void Start() {
        ArrayList<MachineParameters> machineParameterArray = new ArrayList<MachineParameters>();
        MachineParameters machineParameter_1 = new MachineParameters();
        machineParameter_1.frame.setVisible(true);
    }

    public static void Process() {
        // machineParameterArray.add(machineParameter_1);
        if (MachineParameters.isGoDone()) {
            // machineParameterArray[ia] = machineParameter_1;
            MachineParameters machineParameter_1 = new MachineParameters();
            machineParameter_1.frame.setVisible(true);
        } else {
            StartAnimations();
        }
    }

我有 MachineParameters 类,其中包含用于输入值的简单 GUI。Start 创建 MachineParameters 的第一个实例,当从 MachineParameter 类调用 Process 时,应该将该实例添加到 ArrayList 中。如果 GoDone 为 true,则流程创建另一个实例,如果为 false,则启动和动画。ArrayList 将用于设置动画的参数。真/假由 GUI 上的提交或完成按钮设置。

当我添加 Remmed 行时: // machineParameterArray.add(machineParameter_1); machineParameters_1 不引用实例。

此外,所有实例都具有相同的名称;我不确定如何增加变量名 - 似乎不正确。

如果你想笑我,但我最终会做对的;然后我会知道该怎么做。

4

1 回答 1

0

从构造函数中删除 ArrayList。显然它创建了一个局部变量而不是一个实例。

所以: machineParameterArray = new ArrayList();

于 2013-10-11T14:35:27.203 回答