このコードは、オンラインで見つけた例にかなり近いようですが、正しくなく、私がやろうとしていることと一致する例が見つかりません。パラメータとフィールドが正しく設定されていないだけかもしれません。または私のアプローチが間違っているかもしれません。
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();
}
}
値を入力するためのシンプルな GUI を備えた MachineParameters クラスがあります。Start は MachineParameters の最初のインスタンスを作成し、Process は MachineParameter クラスから呼び出されたときにそのインスタンスを ArrayList に追加することになっています。GoDone が true の場合、プロセスは別のインスタンスを作成するか、false の場合はアニメーションを開始します。ArrayList は、アニメーションのパラメーターを設定するために使用されます。true/false は、GUI の [Submit] または [Done] ボタンで設定されます。
Remmed out 行を追加すると: // machineParameterArray.add(machineParameter_1); machineParameters_1 はインスタンスを参照していません。
また、すべてのインスタンスは同じ名前です。変数名をインクリメントする方法がわかりません - 正しくないようです。
あなたが望むなら私を笑ってください、しかし私は最終的にこれを正しくします。そして、私はそれを行う方法を知っています。