Java 调用方法时将代码设置为atribute

Java 调用方法时将代码设置为atribute,java,lwjgl,Java,Lwjgl,这就是我调用方法的方式: initButton(0, 0, 150, 50, "button.png", "PNG"); 方法如下: private void initButton(float x, float y, float width, float height, String imageFileName, String imageFileType) { buttonImages.add(loadResClass.loadTextures(imageFileType, image

这就是我调用方法的方式:

initButton(0, 0, 150, 50, "button.png", "PNG");
方法如下:

private void initButton(float x, float y, float width, float height, String imageFileName, String imageFileType) {
    buttonImages.add(loadResClass.loadTextures(imageFileType, imageFileName));
    buttonFloats.add(new Vector4f(x, y, width, height));
    float mouseX = Mouse.getX();
    float mouseY = Mouse.getY() - Display.getHeight();
    if(mouseY < 0){
        mouseY = mouseY * -1;
    }

    if(mouseX > x && mouseY > y && mouseX < x+width && mouseY < y+height){ 
        //do something
    }
}
private void initButton(浮点x、浮点y、浮点宽度、浮点高度、字符串imageFileName、字符串imageFileType){
添加(loadResClass.loadTextures(imageFileType,imageFileName));
添加(新向量4f(x,y,宽度,高度));
float mouseX=Mouse.getX();
float mouseY=Mouse.getY()-Display.getHeight();
如果(鼠标<0){
mouseY=mouseY*-1;
}
如果(mouseX>x&&mouseY>y&&mouseX

调用initButton时,我想将一些代码设置为参数(或执行类似操作),然后将代码放在initButton方法中,而不是
//执行某些操作
注释。

如果是Swing,则可以传入ActionListener或AbstractAction。如果是其他GUI库,则传入一个可运行的、或未来的、或允许您注入代码的其他接口

这是什么图书馆

编辑1
你说:

我没有使用任何gui库

但你肯定是这样,不管是Swing、Android还是其他什么,否则你怎么能与用户互动呢

编辑2
你说:


我没有使用任何GUI库。我用LWJGL画四边形

然后,在这种情况下,可能需要使用
Runnable
。虽然我不确定您将如何收听鼠标位置…

但您可以在运行时使用配置一些行为。该方法将策略对象作为参数。例如:

private void initButton(float x, float y, float width, float height, String imageFileName, String imageFileType, Strategy strategy) {
    // ...

    if(mouseX > x && mouseY > y && mouseX < x+width && mouseY < y+height){ 
        strategy.doWork();
    }
}

我没有使用任何GUI库。我用LWJGLCA画四边形你能告诉我更多关于它们的信息吗?这应该是一个anwser:D@Chorche:它不起作用。您需要的是某种类型的鼠标侦听器,而不是只调用一次的代码。您必须查看lwjgl库是否有用于此的工具。
initButton(0, 0, 150, 50, "button.png", "PNG", new SpecificStrategy());