Java 方法在触发事件之前休眠
我有一个扑克框架,我正试图为它开发一个“玩家”。基本上,我正在实现一个对象,该对象实现由框架定义的播放器接口。我正试图在这个播放器上放置一个GUI,游戏的工作方式是庄家在我的播放器上调用Java 方法在触发事件之前休眠,java,user-interface,swing,event-handling,multithreading,Java,User Interface,Swing,Event Handling,Multithreading,我有一个扑克框架,我正试图为它开发一个“玩家”。基本上,我正在实现一个对象,该对象实现由框架定义的播放器接口。我正试图在这个播放器上放置一个GUI,游戏的工作方式是庄家在我的播放器上调用act()方法,并期望返回类型为Action。我遇到的问题是,一旦调用了act()方法,我就会更新GUI(使用Swing编写)以显示可用的选项,但是我现在需要在播放器选择选项之前不返回该方法。这些选项显示为JButtons,单击时由actionListener对象处理。如何使act()方法在用户采取行动之前不返回
act()
方法,并期望返回类型为Action
。我遇到的问题是,一旦调用了act()
方法,我就会更新GUI(使用Swing编写)以显示可用的选项,但是我现在需要在播放器选择选项之前不返回该方法。这些选项显示为JButtons,单击时由actionListener对象处理。如何使act()
方法在用户采取行动之前不返回?我需要线程睡眠/等待,直到它被触发的事件唤醒,我不确定语法和最好的方式来做这件事。有什么想法吗
谢谢
我认为这种方法有缺陷。
Act
方法不应等待。相反,它应该在Player
实例上注册一个事件(我们称之为Acted
事件)。同时,它应该启动一个计时器,比如说20秒,如果Acted
事件在计时器用完之前没有引发,经销商应该让玩家自动折叠(或检查,取决于情况),并对排队的下一个玩家执行同样的操作
这只是我的想法,但请仔细想想。如果我不理解你的问题,你需要使用ActionListener来解决这个问题 ActionListener是在类中实现的一个接口,您希望在事件发生时收到警告。当在代码的其他部分触发特定事件时,Action Listener接口的抽象方法会警告此类 给你一个简短的答案并不容易,但我有一个hello world的例子可以帮助你
HIH使用此方法,庄家需要一种方法提醒玩家轮到他们采取行动,如果此方法未返回,则玩家需要向庄家提供参考,以便他们可以将执行的行动发送给庄家。这将在对象之间创建循环依赖关系