javagui与逻辑
我花了三个小时试图理解一件事,但没有成功 问题是: 我有一个类Gui(一个客户端),带有一个用于纸牌游戏的main。Gui有一个main,在调用器中有一个Runnable,逻辑(管理gamesession的一个单独的类)在其中运行,还有一些方法来操作卡的顺序javagui与逻辑,java,user-interface,logic,Java,User Interface,Logic,我花了三个小时试图理解一件事,但没有成功 问题是: 我有一个类Gui(一个客户端),带有一个用于纸牌游戏的main。Gui有一个main,在调用器中有一个Runnable,逻辑(管理gamesession的一个单独的类)在其中运行,还有一些方法来操作卡的顺序 public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public vo
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
PokerClientGui gui = new PokerClientGui();
gui.setVisible(true);
PokerClient pokerClient = new PokerClient(gui);
pokerClient.gameSession();
}
});
}
逻辑是在Gui的主界面中创建的,将Gui本身传递给逻辑。
就我在程序中处理而言,没有问题,因为从服务器发送到客户机逻辑的所有对象/字符串都被接收,例如,手被传递到gui并正确显示。
现在问题来了:我想从gui传递到逻辑,通过logic类的方法将其发送到服务器
因为这个函数是由Gui上的事件鼠标调用的(而不是在Gui的主要部分),所以我没有逻辑对象的句柄,所以我不能使用它的sending objects方法。
我尝试将发送的逻辑方法更改为static,我还对参与在套接字上发送内容的成员进行了static
它不发送任何东西。。。。。这不是什么错误的问题,我尝试捕捉异常(但没有任何异常)
我错在哪里?我错过了什么?如何绑定gui和逻辑?也许您可以在
Runnable()
类中创建一个事件队列,并将其传递给gui和客户端构造函数
客户端将为GUI添加要显示的事件,GUI将为客户端添加要处理的事件。使用两个队列(每个方向一个)可能更容易,而不是对两个方向重复使用单个通道
然后,GUI和客户端会将此对象中的事件队列添加到事件循环中等待时要“检查”的事件列表中。当事件来自另一个对象时,它会唤醒当前对象进行处理,与来自服务器或用户的事件相同。在主类u中创建PokerClientGui的对象时,最好直接在PokerClient对象中创建其对象并访问其对象gameSession().hmmm但这并不能改变问题……我仍然需要从gui与逻辑通信,并且gui看不到逻辑对象。就像我所做的那样,将gui传递给logicu也是正确的。。。。然后我可以创建gui,将逻辑传递给它(这样我就可以直接在gui中调用逻辑的方法),我想我可以给我们一个事件队列,因为我可以毫无问题地从逻辑到gui进行通信……但是我(初学者)不知道如何做。。。我大体上理解了这个概念,通过它我可以唤醒逻辑中的循环。。。。但是你的意思是用java.awt.EventQueue.invokeLater(new runnable()???…)创建一个Tehr runnable吗(我正在网上寻找更多信息,但直到现在还没有成功)@用户595983,我在想一件简单得多的事情:哦-uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu!!