私が直面している問題は、SPinnerModelタイプを、プログラムの後半で使用されるdoubleに変更することです。また、メソッドの外でweightSpinnerMetricを使用することはできませんが、それを修正する方法がわかりません。
もう一度ありがとう。
import javax.swing.*;
import javax.swing.event.*;
public class UI {
private JSpinner weightSpinnerMetric;
//Need to change the weightSpinnerMetric to double and then use it here but cannot do either
private void weightSpinnerMetricStateChanged(ChangeEvent e) {
JSpinner weightSpinnerMetric = (JSpinner) e.getSource();
SpinnerModel spinnerModel = weightSpinnerMetric.getModel();
System.out.println(spinnerModel.getValue());
weightSpinnerMetric = new JSpinner(); //Spinner created here.
weightSpinnerMetric.setModel(new SpinnerNumberModel(3, 3, 31, 1));
weightSpinnerMetric.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
weightSpinnerMetricStateChanged(e);
weightSpinnerMetricStateChanged(e);
}
});
}}
現状では、別のメソッド(Aボタン)でspinnermodelを呼び出して、ボタンが押されたときにspinnermodel値が呼び出されるようにします。視覚的な例として、次のようになります。