Понедельник, 25 Ноября 2024, 19:06

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Java Event Actions
zisXДата: Вторник, 25 Июля 2017, 03:33 | Сообщение # 1
Neto Zis
Сейчас нет на сайте
Есть ли какой-то аналог в java такой логики из c#

Код
public class Main{
    public static void main(string[] args){ //enter point
         TestHandler th = new TestHandler();
         th.onTest += OnTest;
         th.Test();
    }

    private static void OnTest(string value){
         Console.Write(value);
    }
}

public class TestHandler{
    public event Action<string> onTest = delegate {};

    public void Test(){
         onTest.Invoke("kek");
    }
}




Сообщение отредактировал zisX - Вторник, 25 Июля 2017, 03:34
FlyOfFlyДата: Вторник, 25 Июля 2017, 06:58 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Только через интерфейсы - можно такое создать, то-бишь создать интерфейс, где будет одна функция, а другая функция этот класс будет принимать
Код
    public void Run(){
  //....
   DisplayController.Update(new DisplayControllerCallBack() {
    
    @Override
    public void ResizeDisplay(int width,int height) {
     game.Resize(width,height);
    }
   });
  }
//...
}

public static void Update(DisplayControllerCallBack callback){
  Display.update();
  Display.sync(60);
  if(Display.wasResized())
  {
   callback.ResizeDisplay(Display.getWidth(),Display.getHeight());
  }
}

Код
public interface DisplayControllerCallBack {

    void ResizeDisplay(int width,int height);
}


Сообщение отредактировал FlyOfFly - Вторник, 25 Июля 2017, 06:59
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг