正确实现此接口

时间:2014-03-21 12:55:07

标签: java gwt interface

我正在尝试正确实现此界面:

public interface OccupancyGrid {

    public Grid  grid();
}

然后我有一个实现它的类:

    public class OccupancyCheckView implements OccupancyGrid{

    private Grid myGrid = new Grid(17,17);

    @Override
    public Grid grid() {

        return myGrid;
    }

    public main_(){
        createResultGrid("Test Grid");
                //More code below which changes the properties of 'myGrid'
    }

然后我有一个试图调用上述界面的类:

public class TestOccupanciesPanel
{
    private VerticalPanel mainPanel_;

        OccupancyGrid myGrid = new OccupancyCheckView();

    //This is where I trip up
        mainPanel_.add(myGrid);

我在代码中的其他地方看到我正在非常干净地编辑接口的用户但是没有按照我上面的方式进行操作,它看起来更清晰。代码只是做了类似的事情:

OccupancyCheckView.class

你能帮助我并给我一些提示吗?

1 个答案:

答案 0 :(得分:1)

在构造函数中调用createResultGrid方法:

public OccupancyCheckView() {
     myGrid = new Grid(17,17);
     createResultGrid("Test Grid");
}

使用这种方法,createResultGrid方法将在对象创建时执行 - 如果你有一些繁重的代码,它可能会减慢程序。

或使用延迟初始化:

private boolean resultGridCreated = false;

@Override
public Grid grid() {
    if(!resultGridCreated) {
        createResultGrid("Test Grid");
        resultGridCreated = true;
    }
    return myGrid;
}

使用这种方法,网格初始化将在第一次调用grid()时完成。