我正在研究一个绘制数学表达式的程序,如x ^ 2。 它的工作方式是用户输入x的范围(如-10到10),然后绘制该范围的图形。 绘制图形的方法如下所示:
Plotter plotterGUI = new Plotter(minX, maxX, frequency, eqFile);
这一行(在绘图仪类中)要求我将minX和maxX字段设为静态。
整个代码的link(主要类是绘图仪)。
这是程序的外观: 问题是当用户为minX和maxX填充两个字段时,然后单击设置的最小/最大按钮;但是,这两个字段的值在图形面板中不会改变(如图所示,它仍然在-10到10范围内绘制)。 这是set按钮的事件处理程序的代码:
btnSetMinmax.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
maxInput = maxxField.getText();
minInput = minxField.getText();
maxX = Double.parseDouble(maxInput);
minX = Double.parseDouble(minInput);
playSlider.setMaximum((int) maxX);
playSlider.setMinimum((int) minX);
playSlider.setValue((int) minX);
}
});
从我读过的关于堆栈溢出的内容我应该能够改变静态变量的值,那么为什么这里的值没有变化呢?
更新:当我调试代码时程序停在:
maxInput = maxxField.getText();
minInput = minxField.getText();
并说未找到来源。