GWT ClickHandler

时间:2016-05-26 08:45:09

标签: java gwt widget

这就是我尝试实现一个简单的产品列表(FlexTable)的方法,其中包含一些添加,编辑和删除产品的按钮。

我的问题是ClickHandler。在其他项目中,我看到他们总是使用嵌套类来定义点击处理程序(如下所示)。它有效,但我不明白为什么。当我尝试在上面的类中定义ClickHandler时,总会出现(语法)错误。

我是初学者,在这里获得一些帮助会很棒。谢谢!

package com.example.itprojektv2.client;

import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.DOM;

public class ShowProducts extends Showcase {

    /*
     * Instantiate GUI Elements
     */

    private FlexTable productTable = new FlexTable(); 
    public Button addBt = new Button("Add");
    public Button editBt = new Button("Edit");
    public Button deleteBt = new Button("Delete");


    /*
     * Override abstract methods
     * 
     */

    @Override
    protected String getHeadlineText() {
        return "Product - List";
    }

    @Override
    protected void run() {
        this.add(productTable); 

        productTable.setHTML(0, 0, "<h2>ID</h2>");
        productTable.setHTML(0, 1, "<h2>Name</h2>");
        productTable.setHTML(0, 2, "<h2>Price</h2>");
        productTable.setHTML(0, 3, "<h2></h2>");
        productTable.setWidget(1, 3, addBt);
        productTable.setWidget(1, 4, editBt);
        productTable.setWidget(1, 5, deleteBt);

        editBt.addClickHandler(new EditProductClickHandler());
    }


    /**
     * Nested-Class for the Click - Handling on "edit Product"
     */

    private class EditProductClickHandler implements ClickHandler {

        @Override
        public void onClick(ClickEvent event) {
            EditProduct edit = new EditProduct();

            RootPanel.get("Content").clear(); 
            RootPanel.get("Content").add(edit);
        }
    }
}

0 个答案:

没有答案