Gia*_*omo 2 java javafx linechart
我在从折线图中删除数据时遇到问题。我编写了一个程序图形绘制程序,在单击按钮后完成了图表数据的绘制。
dataSeries1.getData()。removeAll(); <-不起作用。
码:
NumberAxis xAxis = new NumberAxis();
xAxis.setLabel("O? Y");
NumberAxis yAxis = new NumberAxis();
yAxis.setLabel("O? X");
final LineChart lineChart = new LineChart(xAxis, yAxis);
final XYChart.Series dataSeries1 = new XYChart.Series();
lineChart.setCreateSymbols(false);
lineChart.getData().add(dataSeries1);
Run Code Online (Sandbox Code Playgroud)
按钮动作:
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
int lewy = Integer.parseInt(kresLewy.getText());
int prawy = Integer.parseInt(kresPrawy.getText());
String rownanie = field.getText();
try {
String tekst = lewy + "; " + prawy + "; " + rownanie;
StringReader tekstReader = new StringReader(tekst);
parsery.interpreter.parser parser_obj
= new parsery.interpreter.parser(new parsery.interpreter.MyLexer(tekstReader));
Object result = parser_obj.parse().value;
String sWynik = result.toString();
ZmiennaX zX = new ZmiennaX();
ArrayList<Double> xArr = new ArrayList<Double>();
for (double i = lewy; i <= prawy + 0.001; i = i + zX.getDokladnosc()) // +0.001 dla bledow zaokraglenia
{
xArr.add(zX.round2(i));
}
String sX = xArr.toString();
String wartosciX = sX.substring(1, sX.length() - 1);
String wartosciY = sWynik.substring(1, sWynik.length() - 1);
String XbezSpacji = wartosciX.replace(" ", "");
String YbezSpacji = wartosciY.replace(" ", "");
String[] splitX = XbezSpacji.split(",");
String[] splitY = YbezSpacji.split(",");
dataSeries1.getData().removeAll();
for(int i=0; i<splitX.length; i++){
double x = Double.parseDouble(splitX[i]);
double y = Double.parseDouble(splitY[i]);
dataSeries1.getData().add(new XYChart.Data(x, y));
}
} catch (Exception e) {
System.out.println("Podczs obliczenia wystapil blad. (" + e.getMessage() + ")");
} catch (Error error) {
System.out.println("Podczs obliczenia wystapil blad. (" + error.getMessage() + ")");
}
}
});
Run Code Online (Sandbox Code Playgroud)
谁能帮我在绘制新图表后删除数据?
removeAll要求删除通过其参数传递的元素。由于您未提供任何内容-不会删除任何内容:
dataSeries1.getData().removeAll();
Run Code Online (Sandbox Code Playgroud)
您想改用clear()上面的行。
公共无效clear()
从此列表中删除所有元素(可选操作)。该调用返回后,该列表将为空。
| 归档时间: |
|
| 查看次数: |
4847 次 |
| 最近记录: |