Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在GWT中调用外部方法?_Java_Gwt_Flowlayoutpanel - Fatal编程技术网

Java 如何在GWT中调用外部方法?

Java 如何在GWT中调用外部方法?,java,gwt,flowlayoutpanel,Java,Gwt,Flowlayoutpanel,这是我的代码: final DialogBox menuWrapper = new DialogBox(true); MenuBar options = new MenuBar(true); menuWrapper.add(options); options.addItem("First", new ScheduledCommand() { FlowPanel flowpanel; .. flowpanel

这是我的代码:

final DialogBox menuWrapper = new DialogBox(true);
MenuBar options = new MenuBar(true);
menuWrapper.add(options);
options.addItem("First", new ScheduledCommand()
        {
            FlowPanel flowpanel;
            ..
            flowpanel = new FlowPanel();
            flowpanel.add(txtFirst);
            ..
            ChartLoader chartLoader = new ChartLoader(ChartPackage.CORECHART);
            chartLoader.loadApi(new Runnable() {

                        @Override
                        public void run() { 
                        ..
                        LineChart lineChart = new LineChart();
                        Datatable ..
                        lineChart.draw(dataTable);
                        panelChart.add(lineChart);
                        addPanel(panelChart);
                        }
                    private void addPanel(LayoutPanel panelChart) {
                        flowpanel.add(panelChart);
                    }
            }
        }
这条线

   flowpanel.add(panelChart);
我有一个错误:

Cannot refer to a non-final variable flowpanel inside an inner class defined in a different method

我想把我所有的小部件都添加到PopupPanle上的flowPanel中,但我无法定义最终的方法,有解决这个问题的方法吗?谢谢。

您需要在FlowPanel声明之前添加一个修饰符final:

final FlowPanel flowpanel = new FlowPanel();
或者,您可以将此FlowPanel设置为类变量:

private FlowPanel flowpanel;
...
// your class methods

当您在延迟或异步方法中引用对象时,编译器希望确保该对象不会在需要时被重新分配。

Good第二个提示!谢谢