找不到合适的方法

时间:2013-11-18 18:43:48

标签: java

这是我试图调用的方法。

    public void update(int status) {
        if (status == 1)
        {
            setBorder(new LineBorder(Color.YELLOW, BORDERSIZE+1));
        }
        else if (status == 2)
        {
            setBorder(new LineBorder(Color.CYAN, BORDERSIZE+1));
        }
        else if (status == 3)
        {
            setBorder(new LineBorder(Color.BLACK, BORDERSIZE));
        }

        revalidate();
    }

这是试图使用它的代码。

private void handleMouseClick(int x, int y, int button) {
    try {
        // This is called by the board squares when they are clicked
        // Handle the logic of updates to the client/game here

        if(button == 1){
            if(x != -1 && y != -1){
                update(1);
                x = -1;
                y = -1;
                updateGrids();
                }
            else{
                update(3);
            }
        }
        else if(button == 3){

        }


    }
    catch (IOException ex) {
        System.err.println(ex);
    }

更新方法在一个名为GridLayout的类中,我试图只使用GridLayout.update(aninteger);但它对我不起作用。

1 个答案:

答案 0 :(得分:1)

您需要一个GridLayout对象的实例才能调用更新函数。

当知道GridLayout如何与您现有的代码相关时,我无法进一步建议。但是,如果GridLayout是临时对象,您可以尝试:

GridLayout worker = new GridLayout(... whatever ...);
worker.update(aninteger);

否则,您可能需要从相关框架中获取它,或者沿着这些方向:

this.getGridLayout().update(aninteger);