拓展组件序列图表点击事件报 IllegalArgumentException 非法参数异常

在给serialChart加监听时,报参数异常 。xyChart加了一样的监听,没有任何问题,而且新建一个button增加监听事件,方法也能够执行
屏幕截图 2022-11-08 082630
屏幕截图 2022-11-08 082701
屏幕截图 2022-11-08 082811

这是xyChart的监听,运行没有问题
image
image

我这边尝试了下,没有重现这个问题,右键可以打开界面:
image

你的 Jmix 版本是多少,方便发一个可重现的测试项目吗?

我在点击右键后,出来的是这个,没有具体报错的命令行
image

jmix版本是最新的
image

xy图放大正常
image
image

测试项目不太好弄 没办法拿数据

嗯。我用的也是 1.4.0。上面那个错误的详情堆栈麻烦发一下?

这个是控制器

private void drawChart() {
        if (mtrTskField.getValue() != null && acListField.getValue() != null && startTimeField.getValue() != null && endTimeField.getValue() != null) {
            RteMtr rteMtr = rteMtrService.getRteMtrByMtrTsk(mtrTskField.getValue());
            List<DrwTmp> drwTmpList = drwTmpService.getDrwTmpByRte(rteMtr);
            SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
            String startTime = sd.format(startTimeField.getValue()) + " 00:00:00";
            String endTime = sd.format(endTimeField.getValue()) + " 00:00:00";
            List<String> serColList = new ArrayList<>();
            if (!acListField.getValue().equals("All")) {
                String serSql = "show timeseries root.oemc." + acListField.getValue().replace("-", "") + ".*.*.*.*";
                serColList =monParamAccessService.getTimeSeries(serSql);
            }
            for (DrwTmp drwTmp : drwTmpList) {
                String yXis = drwTmp.getyAxi();
                String xXis = drwTmp.getxAxi();
                if (drwTmp.getDatFrm().equals("OEM")) {
                    List<Color> colors = new ArrayList<>();
                    colors.add(Color.valueOf(drwTmp.getColOne()));
                    colors.add(Color.valueOf(drwTmp.getColTwo()));
                    colors.add(Color.valueOf(drwTmp.getColThr()));
                    colors.add(Color.valueOf(drwTmp.getColFou()));
                    List<Boolean> shows = new ArrayList<>();
                    shows.add(drwTmp.getOne());
                    shows.add(drwTmp.getTwo());
                    shows.add(drwTmp.getThree());
                    shows.add(drwTmp.getFour());
                    shows.add(drwTmp.getDif());
                    if (xXis.equals("Time")) {
                        List<String> p1List = new ArrayList<>();
                        List<String> p2List = new ArrayList<>();
                        List<String> p3List = new ArrayList<>();
                        List<String> p4List = new ArrayList<>();
                        List<String> prmList = new ArrayList<>();
                        for (String col : serColList
                        ) {
                            String[] array = col.split("\\.");
                            String flyPrm =array[5]+ "-"+array[6];
                            if (flyPrm.equals(drwTmp.getFlyPhs()+"-"+yXis)){
                                prmList.add(array[3]+"."+array[4]+"."+array[5]+"."+array[6]);
                            }
                            String key = array[3] + "-" + array[5]+ "-"+array[6];
                            if (key.equals("P1-" + drwTmp.getFlyPhs() + "-" + yXis)) {
                                p1List.add(array[3]+"."+array[4]+"."+array[5]+"."+array[6]);
                            } else if (key.equals("P2-" + drwTmp.getFlyPhs() + "-" + yXis)) {
                                p2List.add(array[3]+"."+array[4]+"."+array[5]+"."+array[6]);
                            } else if (key.equals("P3-" + drwTmp.getFlyPhs() + "-" + yXis)) {
                                p3List.add(array[3]+"."+array[4]+"."+array[5]+"."+array[6]);
                            } else if (key.equals("P4-" + drwTmp.getFlyPhs() + "-" + yXis)) {
                                p4List.add(array[3]+"."+array[4]+"."+array[5]+"."+array[6]);
                            }
                        }
                        String sql = "";
                        String p1Sum = ListToString(p1List);
                        String p2Sum = ListToString(p2List);
                        String p3Sum = ListToString(p3List);
                        String p4Sum = ListToString(p4List);
                        String p1 = StringUtils.join(p1List.toArray(), ",");
                        String p2 = StringUtils.join(p2List.toArray(), ",");
                        String p3 = StringUtils.join(p3List.toArray(), ",");
                        String p4 = StringUtils.join(p4List.toArray(), ",");
                        String prm = StringUtils.join(prmList.toArray(), ",");
                        if (!drwTmp.getDif()) {
                            sql = "select " + prm + " from root.oemc." + acListField.getValue().replace("-", "")
                                    + " where time >= " + startTime + " and time < " + endTime;
                        }
                        if (drwTmp.getDif() && drwTmp.getOne() && drwTmp.getTwo() && !drwTmp.getThree() && !drwTmp.getFour()) {
                            sql = "select " + p1 + "," + p2 +",(" + p1Sum + "-" + p2Sum + ") as `P1-P2` from root.oemc." +
                                    acListField.getValue().replace("-", "") + " where time >= " + startTime + " and time < " + endTime;
                        }
                        if (drwTmp.getDif() && !drwTmp.getOne() && !drwTmp.getTwo() && drwTmp.getThree() && drwTmp.getFour()) {
                            sql = "select " + p3 + "," + p4 +",(" + p3Sum + "-" + p4Sum + ") as `P3-P4` from root.oemc." +
                                    acListField.getValue().replace("-", "") + " where time >= " + startTime + " and time < " + endTime;
                        }
                        if (drwTmp.getDif() && drwTmp.getOne() && drwTmp.getTwo() && drwTmp.getThree() && drwTmp.getFour()) {
                            sql = "select "+ p1 + "," + p2 + "," + p3 + "," + p4+",(" + p1Sum + "-" + p4Sum + ") as `P1-P4`, (" + p2Sum + "-" + p3Sum + ") as `P2-P3` from root.oemc." +
                                    acListField.getValue().replace("-", "") + " where time >= " + startTime + " and time < " + endTime;
                        }
                        ListDataProvider mapList = monParamAccessService.executeQueryStatement(sql);
                        SerialChart serialChart = oemChaService.creatChart(drwTmp.getDrwNam() + "-" + drwTmp.getDrwNo(),
                                acListField.getValue().replace("-",""), drwTmp.getChaHig()+"px", drwTmp.getChaSiz(),
                                colors, shows, mapList, p1List, p2List, p3List, p4List);
                        String arn =acListField.getValue().replace("-","");
                        serialChart.addRightClickListener(chartRightClickEvent -> onChartClick(drwTmp.getDrwNam() + "-" + drwTmp.getDrwNo(),
                                arn, colors, shows, mapList, p1List, p2List, p3List, p4List));
                        image.add(serialChart);
                    } else {
                        List<String> xyColList = new ArrayList<>();
                        String sql;
                        List<String> acList =new ArrayList<>();
                        ListDataProvider mapList =new ListDataProvider();
                        if (acListField.getValue().equals("All")){
                            acList= Arrays.asList(rteMtrService.getAcLstList(mtrTskField.getValue()).split(","));
                            for (String arn:acList
                                 ) {
                                String colSql = "show timeseries root.oemc."+arn.replace("-","")+".*.*.*.*";
                                List<String> colList = monParamAccessService.getTimeSeries(colSql);
                                xyColList.addAll(colList);
                                sql = "select " + xXis + "," + yXis + " from root.oemc." + arn.replace("-", "")
                                        + ".*.*." + drwTmp.getFlyPhs() + " where time >= " + startTime + " and time < " + endTime;
                                ListDataProvider arnMapList = monParamAccessService.executeQueryStatement(sql);
                                mapList.addItems(arnMapList.getItems());
                            }
                        }else {
                            acList.add(acListField.getValue());
                            String colSql = "show timeseries root.oemc."+acListField.getValue().replace("-","")+".*.*.*.*";
                            xyColList = monParamAccessService.getTimeSeries(colSql);
                            sql = "select " + xXis + "," + yXis + " from root.oemc." + acListField.getValue().replace("-", "")
                                    + ".*.*." + drwTmp.getFlyPhs() + " where time >= " + startTime + " and time < " + endTime;
                            mapList=monParamAccessService.executeQueryStatement(sql);
                        }
                        XYChart xyChart = oemChaService.creatXYChart(drwTmp.getDrwNam() + "-" + drwTmp.getDrwNo(), drwTmp.getFlyPhs(),
                                xXis, yXis, drwTmp.getChaHig()+"px", drwTmp.getChaSiz(), colors, shows,mapList,xyColList,acList);
                        List<String> finalXyColList = new ArrayList<>(xyColList);
                        List<String> finalAcList = new ArrayList<>(acList);
                        ListDataProvider finalMapList = mapList;
                        xyChart.addRightClickListener(chartRightClickEvent -> onXyChartClick(drwTmp.getDrwNam() + "-" + drwTmp.getDrwNo(), drwTmp.getFlyPhs(),
                                xXis, yXis,colors, shows, finalMapList, finalXyColList, finalAcList));
                        image.add(xyChart);
                    }
                }
            }
        }
    }
private String ListToString(List<String> list) {
        if (list.size()>0){
            if (list.size()>1){
                return "(" + StringUtils.join(list.toArray(), "+") + ")";
            }else {
                return list.get(0);
            }
        }else {
            return null;
        }
    }

    public void onChartClick (String id, String arn, List<Color> colors, List<Boolean> shows,
                              ListDataProvider mapList, List<String> p1List, List<String> p2List, List<String> p3List, List<String> p4List) {
        ImageScreen imageScreen = screenBuilders.screen(this)
                .withScreenClass(ImageScreen.class)
                .build();
        imageScreen.setSerId(id);
        imageScreen.setArn(arn);
        imageScreen.setHeight("500px");
        imageScreen.setWidth("100%");
        imageScreen.setColors(colors);
        imageScreen.setShows(shows);
        imageScreen.setMapList(mapList);
        imageScreen.setP1List(p1List);
        imageScreen.setP2List(p2List);
        imageScreen.setP3List(p3List);
        imageScreen.setP4List(p4List);
        imageScreen.show();
    }

    public void onXyChartClick (String id, String flyPhs, String xXis, String yXis, List <Color> colors,
                                List <Boolean> shows, ListDataProvider mapList, List <String> colList,List<String> arnList){
        ImageScreen imageScreen = screenBuilders.screen(this)
                .withScreenClass(ImageScreen.class)
                .build();
        imageScreen.setXyId(id);
        imageScreen.setFlyPhs(flyPhs);
        imageScreen.setxXis(xXis);
        imageScreen.setyXis(yXis);
        imageScreen.setHeight("500px");
        imageScreen.setWidth("100%");
        imageScreen.setColors(colors);
        imageScreen.setShows(shows);
        imageScreen.setMapList(mapList);
        imageScreen.setColList(colList);
        imageScreen.setArnList(arnList);
        imageScreen.show();
    }

这个是service 图的配置

package cn.edu.hitwh.ef.hm.pm.service;

import io.jmix.charts.component.SerialChart;
import io.jmix.charts.component.XYChart;
import io.jmix.charts.model.Color;
import io.jmix.charts.model.Position;
import io.jmix.charts.model.Scrollbar;
import io.jmix.charts.model.Title;
import io.jmix.charts.model.axis.CategoryAxis;
import io.jmix.charts.model.axis.ValueAxis;
import io.jmix.charts.model.balloon.Balloon;
import io.jmix.charts.model.cursor.Cursor;
import io.jmix.charts.model.cursor.CursorPosition;
import io.jmix.charts.model.export.Export;
import io.jmix.charts.model.export.ExportPosition;
import io.jmix.charts.model.graph.BulletType;
import io.jmix.charts.model.graph.Graph;
import io.jmix.charts.model.legend.Legend;
import io.jmix.charts.model.settings.ChartTheme;
import io.jmix.charts.model.trendline.TrendLine;
import io.jmix.ui.UiComponents;
import io.jmix.ui.data.impl.ListDataProvider;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;

@Component
public class OemChaService {
    @Autowired
    private UiComponents uiComponents;

    /**
     * 序列图配置
     *
     * @param id
     * @param arn
     * @param height
     * @param width
     * @param colors
     * @param shows
     * @param mapList
     * @param p1List
     * @param p2List
     * @param p3List
     * @param p4List
     * @return SerialChart
     */
    public SerialChart creatChart(String id, String arn,String height, String width, List<Color> colors, List<Boolean> shows,
                                  ListDataProvider mapList, List<String> p1List, List<String> p2List, List<String> p3List, List<String> p4List) {
        SerialChart serialChart = uiComponents.create(SerialChart.NAME);
        serialChart.setId(id);
        serialChart.setAutoMarginOffset(20);
        serialChart.setHeight(height);
        serialChart.setWidth(width);
        serialChart.setCategoryField("Time");
        serialChart.setDataProvider(mapList);
        serialChart.setMarginLeft(40);
        serialChart.setMarginRight(40);
        serialChart.setTheme(ChartTheme.LIGHT);

        Balloon balloon = new Balloon();
        balloon.setBorderThickness(1);
        balloon.setShadowAlpha(0.1);

        List<ValueAxis> valueAxes = new ArrayList<>();
        ValueAxis valueAxis1 = new ValueAxis();
        valueAxis1.setId("v1"+id);
        valueAxis1.setAxisAlpha(0.0);
        valueAxis1.setIgnoreAxisWidth(true);
        valueAxis1.setPosition(Position.LEFT);
        valueAxes.add(valueAxis1);
        ValueAxis valueAxis2 = new ValueAxis();
        valueAxis2.setId("v2"+id);
        valueAxis2.setAxisAlpha(0.0);
        valueAxis2.setIgnoreAxisWidth(true);
        valueAxis2.setPosition(Position.RIGHT);
        valueAxes.add(valueAxis2);

        List<Graph> graphs = new ArrayList<>();

        if (shows.get(0)) {
            //map中的表头名称List
            for (int i = 0; i < p1List.size(); i++) {
                Graph graph = new Graph();
                String value = "root.oemc."+arn+"."+p1List.get(i);
                graph.setId("g" + id + "P1" + i);
                graph.setBalloonText("P1:[[value]]");
                setGragh(id, p1List, i, graph, value);
                graph.setLineColor(colors.get(0));
                Balloon balloon1 = new Balloon();
                balloon1.setAdjustBorderColor(false);
                balloon1.setColor(Color.WHITE);
                balloon1.setDrop(true);
                graph.setBalloon(balloon1);
                graphs.add(graph);
            }
        }

        if (shows.get(1)) {
            for (int i = 0; i < p2List.size(); i++) {
                Graph graph = new Graph();
                String value = "root.oemc."+arn+"."+p2List.get(i);
                graph.setId("g" + id + "P2" + i);
                graph.setBalloonText("P2:[[value]]");
                setGragh(id, p1List, i, graph, value);
                graph.setLineColor(colors.get(1));
                Balloon balloon1 = new Balloon();
                balloon1.setAdjustBorderColor(false);
                balloon1.setColor(Color.WHITE);
                balloon1.setDrop(true);
                graph.setBalloon(balloon1);
                graphs.add(graph);
            }
        }
        if (shows.get(2)) {
            for (int i = 0; i < p3List.size(); i++) {
                Graph graph = new Graph();
                graph.setId("g" + id + "P3" + i);
                String value = "root.oemc."+arn+"."+p3List.get(i);
                graph.setBalloonText("P3:[[value]]");
                setGragh(id, p1List, i, graph, value);
                graph.setLineColor(colors.get(2));
                Balloon balloon1 = new Balloon();
                balloon1.setAdjustBorderColor(false);
                balloon1.setColor(Color.WHITE);
                balloon1.setDrop(true);
                graph.setBalloon(balloon1);
                graphs.add(graph);
            }
        }
        if (shows.get(3)) {
            for (int i = 0; i < p4List.size(); i++) {
                Graph graph = new Graph();
                graph.setId("g" + id + "P4" + i);
                String value = "root.oemc."+arn+"."+p4List.get(i);
                graph.setBalloonText("P4:[[value]]");
                setGragh(id, p1List, i, graph, value);
                graph.setLineColor(colors.get(3));
                Balloon balloon1 = new Balloon();
                balloon1.setAdjustBorderColor(false);
                balloon1.setColor(Color.WHITE);
                balloon1.setDrop(true);
                graph.setBalloon(balloon1);
                graphs.add(graph);
            }
        }
        if (shows.get(4)) {
            if (shows.get(0) && shows.get(1) && !shows.get(2) && !shows.get(3)) {
                Graph graph = new Graph();
                graph.setId("g" + id + "P1-P2");
                String value = "P1-P2";
                graph.setBalloonText("P1-P2:[[value]]");
                setDifGragh(id, graphs, graph, value);
            }
            if (!shows.get(0) && !shows.get(1) && shows.get(2) && shows.get(3)) {
                Graph graph = new Graph();
                graph.setId("g" + id + "P3-P4");
                String value = "P3-P4";
                graph.setBalloonText("P3-P4:[[value]]");
                setDifGragh(id, graphs, graph, value);
            }
            if (shows.get(0) && shows.get(1) && shows.get(2) && shows.get(3)) {
                Graph graph1 = new Graph();
                graph1.setId("g" + id + "P1-P4");
                String value1 = "P1-P4";
                graph1.setBalloonText("P1-P4:[[value]]");
                setDifGragh(id, graphs, graph1, value1);
                Graph graph2 = new Graph();
                graph2.setId("g" + id + "P2-P3");
                String value2 = "P2-P3";
                graph2.setBalloonText("P2-P3:[[value]]");
                setDifGragh(id, graphs, graph2, value2);
            }
        }

        Legend legend = new Legend();
        legend.setUseGraphSettings(true);

        CategoryAxis categoryAxis = new CategoryAxis();
        categoryAxis.setDashLength(1);
        categoryAxis.setMinorGridEnabled(true);
        categoryAxis.setLabelFrequency(4.0);

        Cursor chartCursor = new Cursor();
        chartCursor.setCursorAlpha(1.0);
        chartCursor.setCursorColor(Color.valueOf("#258cbb"));
        chartCursor.setCursorPosition(CursorPosition.MOUSE);
        chartCursor.setPan(true);
        chartCursor.setValueLineAlpha(0.0);
        chartCursor.setValueBalloonsEnabled(true);
        chartCursor.setValueLineEnabled(true);
        chartCursor.setValueZoomable(true);

        Export export = new Export();
        export.setPosition(ExportPosition.TOP_RIGHT);

        List<Title> titles =setTitles(id);

        Scrollbar chartScrollbar = new Scrollbar();

        serialChart.setValueAxes(valueAxes);
        serialChart.setBalloon(balloon);
        serialChart.setGraphs(graphs);
        serialChart.setLegend(legend);
        serialChart.setCategoryAxis(categoryAxis);
        serialChart.setChartCursor(chartCursor);
        serialChart.setExport(export);
        serialChart.setTitles(titles);
        serialChart.setChartScrollbar(chartScrollbar);
        return serialChart;
    }

    public void setDifGragh(String id, List<Graph> graphs, Graph graph, String value) {
        graph.setBullet(BulletType.ROUND);
        graph.setBulletBorderAlpha(0.5);
        graph.setBulletColor(Color.WHITE);
        graph.setBulletSize(1);
        graph.setHideBulletsCount(50);
        graph.setLineThickness(2);
        graph.setTitle(value);
        graph.setUseLineColorForBulletBorder(true);
        graph.setValueAxis("v2"+id);
        graph.setValueField(value);
        Balloon balloon1 = new Balloon();
        balloon1.setAdjustBorderColor(false);
        balloon1.setColor(Color.WHITE);
        balloon1.setDrop(true);
        graph.setBalloon(balloon1);
        graphs.add(graph);
    }

    public void setGragh(String id, List<String> p1List, int i, Graph graph, String value) {
        graph.setBullet(BulletType.ROUND);
        graph.setBulletBorderAlpha(0.5);
        graph.setBulletColor(Color.WHITE);
        graph.setBulletSize(1);
        graph.setHideBulletsCount(50);
        graph.setLineThickness(2);
        graph.setTitle(p1List.get(i).substring(1).replace(".E","."));
        graph.setUseLineColorForBulletBorder(true);
        graph.setValueAxis("v1"+id);
        graph.setValueField(value);
    }


    /**
     * XY散点图配置
     * @param id
     * @param flyPhs
     * @param xXis
     * @param yXis
     * @param height
     * @param width
     * @param colors
     * @param shows
     * @param mapList
     * @param colList
     * @return XYChart
     */
    public XYChart creatXYChart (String id, String flyPhs, String xXis, String yXis, String height, String
            width, List < Color > colors, List < Boolean > shows, ListDataProvider mapList, List < String > colList ,List < String >arnList){
        XYChart xyChart = uiComponents.create(XYChart.NAME);
        xyChart.setId(id);
        xyChart.setAutoMarginOffset(20);
        xyChart.setHeight(height);
        xyChart.setWidth(width);
        xyChart.setStartDuration(0.0);
        xyChart.setDataProvider(mapList);
        xyChart.setMarginBottom(60);
        xyChart.setMarginLeft(64);
        xyChart.setTheme(ChartTheme.LIGHT);
        List<Graph> graphs = new ArrayList<>();
        List<TrendLine> trendLines = new ArrayList<>();
        if (shows.get(0)) {
            List<String> keyList = new ArrayList<>();
            List<String> valueList = new ArrayList<>();
            for (String col : colList
            ) {
                String[] array = col.split("\\.");
                String srtPath = array[2]+"-" + array[3] + "-" + array[5]+ "-" + array[6];
                for (String arn:arnList
                     ) {
                    if (srtPath.equals(arn.replace("-","") + "-" + "P1-" + flyPhs + "-" + xXis)) {
                        keyList.add(col);
                    } else if (srtPath.equals(arn.replace("-","") + "-" + "P1-" + flyPhs + "-" + yXis)) {
                        valueList.add(col);
                    }
                }
            }
            for (String key:keyList
                 ) {
                for (String value:valueList
                     ) {
                    String[] array1 = key.split("\\.");
                    String[] array2 = value.split("\\.");
                    if (array1[2].equals(array2[2])){
                        Graph graph = new Graph();
                        graph.setBalloonText("P1x:[[x]] P1y:[[y]] [[Time]] "+ array1[2]);
                        graph.setBullet(BulletType.TRIANGLE_UP);
                        graph.setFillAlphas(0.0);
                        graph.setLineAlpha(0.0);
                        graph.setLineColor(colors.get(0));
                        graph.setTitle("P1"+ "-"+array1[2]);
                        graph.setXField(key);
                        graph.setYField(value);
                        graph.setValueField("Time");
                        graphs.add(graph);
                        TrendLine trendLine = new TrendLine();
                        trendLine.setLineColor(colors.get(0));
                        trendLines.add(trendLine);
                    }
                }
            }
        }
        if (shows.get(1)) {
            List<String> keyList = new ArrayList<>();
            List<String> valueList = new ArrayList<>();
            for (String col : colList
            ) {
                String[] array = col.split("\\.");
                String srtPath = array[2]+"-" + array[3] + "-" + array[5]+ "-" + array[6];
                for (String arn:arnList
                ) {
                    if (srtPath.equals(arn.replace("-","") + "-" + "P2-" + flyPhs + "-" + xXis)) {
                        keyList.add(col);
                    } else if (srtPath.equals(arn.replace("-","") + "-" + "P2-" + flyPhs + "-" + yXis)) {
                        valueList.add(col);
                    }
                }
            }
            for (String key:keyList
            ) {
                for (String value:valueList
                ) {
                    String[] array1 = key.split("\\.");
                    String[] array2 = value.split("\\.");
                    if (array1[2].equals(array2[2])){
                        Graph graph = new Graph();
                        graph.setBalloonText("P2x:[[x]] P2y:[[y]] [[Time]] "+ array1[2]);
                        graph.setBullet(BulletType.ROUND);
                        graph.setFillAlphas(0.0);
                        graph.setLineAlpha(0.0);
                        graph.setLineColor(colors.get(1));
                        graph.setTitle("P2"+"-"+array1[2]);
                        graph.setXField(key);
                        graph.setYField(value);
                        graph.setValueField("Time");
                        graphs.add(graph);
                        TrendLine trendLine = new TrendLine();
                        trendLine.setLineColor(colors.get(1));
                        trendLines.add(trendLine);
                    }
                }
            }
        }
        if (shows.get(2)) {
            List<String> keyList = new ArrayList<>();
            List<String> valueList = new ArrayList<>();
            for (String col : colList
            ) {
                String[] array = col.split("\\.");
                String srtPath = array[2]+"-" + array[3] + "-" + array[5]+ "-" + array[6];
                for (String arn:arnList
                ) {
                    if (srtPath.equals(arn.replace("-","") + "-" + "P3-" + flyPhs + "-" + xXis)) {
                        keyList.add(col);
                    } else if (srtPath.equals(arn.replace("-","") + "-" + "P3-" + flyPhs + "-" + yXis)) {
                        valueList.add(col);
                    }
                }
            }
            for (String key:keyList
            ) {
                for (String value:valueList
                ) {
                    String[] array1 = key.split("\\.");
                    String[] array2 = value.split("\\.");
                    if (array1[2].equals(array2[2])){
                        Graph graph = new Graph();
                        graph.setBalloonText("P3x:[[x]] P3y:[[y]] [[Time]] "+ array1[2]);
                        graph.setBullet(BulletType.TRIANGLE_UP);
                        graph.setFillAlphas(0.0);
                        graph.setLineAlpha(0.0);
                        graph.setLineColor(colors.get(2));
                        graph.setTitle("P3"+"-"+array1[2]);
                        graph.setXField(key);
                        graph.setYField(value);
                        graph.setValueField("Time");
                        graphs.add(graph);
                        TrendLine trendLine = new TrendLine();
                        trendLine.setLineColor(colors.get(2));
                        trendLines.add(trendLine);
                    }
                }
            }
        }
        if (shows.get(3)) {
            List<String> keyList = new ArrayList<>();
            List<String> valueList = new ArrayList<>();
            for (String col : colList
            ) {
                String[] array = col.split("\\.");
                String srtPath = array[2]+"-" + array[3] + "-" + array[5]+ "-" + array[6];
                for (String arn:arnList
                ) {
                    if (srtPath.equals(arn.replace("-","") + "-" + "P4-" + flyPhs + "-" + xXis)) {
                        keyList.add(col);
                    } else if (srtPath.equals(arn.replace("-","") + "-" + "P4-" + flyPhs + "-" + yXis)) {
                        valueList.add(col);
                    }
                }
            }
            for (String key:keyList
            ) {
                for (String value:valueList
                ) {
                    String[] array1 = key.split("\\.");
                    String[] array2 = value.split("\\.");
                    if (array1[2].equals(array2[2])){
                        Graph graph = new Graph();
                        graph.setBalloonText("P4x:[[x]] P4y:[[y]] [[Time]] "+ "-"+array1[2]);
                        graph.setBullet(BulletType.ROUND);
                        graph.setFillAlphas(0.0);
                        graph.setLineAlpha(0.0);
                        graph.setLineColor(colors.get(3));
                        graph.setTitle("P4"+"-"+array1[2]);
                        graph.setXField(key);
                        graph.setYField(value);
                        graph.setValueField("Time");
                        graphs.add(graph);
                        TrendLine trendLine = new TrendLine();
                        trendLine.setLineColor(colors.get(3));
                        trendLines.add(trendLine);
                    }
                }
            }
        }

        List<ValueAxis> valueAxes = new ArrayList<>();
        ValueAxis valueAxis1 = new ValueAxis();
        valueAxis1.setAxisAlpha(0.0);
        valueAxis1.setDashLength(1);
        valueAxis1.setPosition(Position.BOTTOM);
        valueAxis1.setTitle(xXis);
        valueAxes.add(valueAxis1);
        ValueAxis valueAxis2 = new ValueAxis();
        valueAxis2.setAxisAlpha(0.0);
        valueAxis2.setDashLength(1);
        valueAxis2.setPosition(Position.LEFT);
        valueAxis2.setTitle(yXis);
        valueAxes.add(valueAxis2);

        Cursor cursor = new Cursor();

        Export export = new Export();
        export.setPosition(ExportPosition.TOP_RIGHT);

        Scrollbar scrollbar = new Scrollbar();

        Legend legend = new Legend();
        legend.setUseGraphSettings(true);

        Balloon balloon = new Balloon();
        balloon.setBorderThickness(1);
        balloon.setShadowAlpha(0.1);

        List<Title> titles = setTitles(id);

        xyChart.setExport(export);
        xyChart.setChartScrollbar(scrollbar);
        xyChart.setGraphs(graphs);
        xyChart.setTrendLines(trendLines);
        xyChart.setChartCursor(cursor);
        xyChart.setValueAxes(valueAxes);
        xyChart.setLegend(legend);
        xyChart.setTitles(titles);
        xyChart.setBalloon(balloon);
        return xyChart;
    }
    public List<Title> setTitles(String id) {
        List<Title> titles = new ArrayList<>();
        Title title = new Title();
        title.setAlpha(1.0);
        title.setBold(true);
        title.setColor(Color.DARKGRAY);
        title.setSize(10);
        title.setTabIndex(0);
        title.setText(id);
        titles.add(title);
        return titles;
    }
}

image
这个图里面的详细堆栈复制一下,谢谢!

java.lang.IllegalArgumentException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:153)
	at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:115)
	at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:442)
	at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:407)
	at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:275)
	at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:83)
	at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40)
	at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1636)
	at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:465)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at io.jmix.core.impl.logging.LogMdcFilter.doFilterInternal(LogMdcFilter.java:28)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
	at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:106)
	at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:97)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
	at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:147)
	at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
	at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
	at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
	at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
	at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)
	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.base/java.lang.Thread.run(Thread.java:834)

是在开发环境吗,IDEA 里面的日志看看有别的错没有?上面这个错应该不是主要的问题。
image
怀疑是有个什么参数是 null

2022-11-08 15:34:28.484 ERROR 8068 --- [nio-8443-exec-6] i.j.u.exception.DefaultExceptionHandler  : Unhandled exception

com.vaadin.server.ServerRpcManager$RpcInvocationException: Unable to invoke method onChartRightClick in io.jmix.charts.widget.client.amcharts.rpc.JmixAmchartsServerRpc
	at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:157) ~[vaadin-server-8.14.3-0-jmix.jar:8.14.3-0-jmix]
	at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:115) ~[vaadin-server-8.14.3-0-jmix.jar:8.14.3-0-jmix]
	at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:442) ~[vaadin-server-8.14.3-0-jmix.jar:8.14.3-0-jmix]
	at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:407) ~[vaadin-server-8.14.3-0-jmix.jar:8.14.3-0-jmix]
	at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:275) ~[vaadin-server-8.14.3-0-jmix.jar:8.14.3-0-jmix]
	at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:83) ~[vaadin-server-8.14.3-0-jmix.jar:8.14.3-0-jmix]
	at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40) ~[vaadin-server-8.14.3-0-jmix.jar:8.14.3-0-jmix]
	at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1636) ~[vaadin-server-8.14.3-0-jmix.jar:8.14.3-0-jmix]
	at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:465) ~[vaadin-server-8.14.3-0-jmix.jar:8.14.3-0-jmix]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:750) ~[javax.servlet-api-4.0.1.jar:4.0.1]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.65.jar:9.0.65]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at io.jmix.core.impl.logging.LogMdcFilter.doFilterInternal(LogMdcFilter.java:28) ~[jmix-core-1.4.0.jar:na]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:106) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:97) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:147) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) ~[spring-security-web-5.7.3.jar:5.7.3]
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) ~[spring-web-5.3.23.jar:5.3.23]
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) ~[spring-web-5.3.23.jar:5.3.23]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.23.jar:5.3.23]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.23.jar:5.3.23]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.23.jar:5.3.23]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.23.jar:5.3.23]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.65.jar:9.0.65]
	at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
Caused by: java.lang.IllegalArgumentException: null
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
	at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
	at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:153) ~[vaadin-server-8.14.3-0-jmix.jar:8.14.3-0-jmix]
	... 90 common frames omitted

画图用的也是这些参数 图能出来的话 这些参数应该都不是null,只是把这些参数传到了另一个界面 再画一张图

从 idea 的日志看,是调用下面这个方法有问题:
image

可以尝试在下面代码处打断点调试一下,看看下面第一个参数是不是 null:

image

没有信息
image

能停到这个断点应该有信息呀,在评估表达式那里输入 JmixAmchartsScene.this 试试