我有2个JFrame,用于带有多个窗口的游戏。 1个JFrame是主要的,而另一个仅用于提供信息。是否可以在不单击非活动窗口的情况下更新非活动信息jframe?我对这种能力一无所知。附言我不想只使用纯Java库。如果该库是TINY,那么我可以使用它。

最佳答案

您的问题实际上与Windows和JFrames无关,而与对象之间的一般通信问题有关。如果要更改对象的状态,可以调用其方法之一。通过使活动代码无论处于何处或何处,都可以调用您的其他“非活动”显示组件对象之一的方法,从而更改其显示,可以对“ JFrames”执行相同的操作。问题通常会成为何时调用方法的问题,而对于事件驱动的GUI,这通常意味着使用一种或多种观察者模式。

如果我的回答似乎有点含糊和笼统,那么鉴于目前为止所提供的信息,恐怕这是我能做的最好的事情。如果您需要更多具体帮助,请考虑发布相关代码,以及有关整体问题和程序结构的更多信息。

另外,请阅读有关The Use of Multiple JFrames, Good/Bad Practice?的信息,其中包括具有多个JFrame的整体GUI设计,而常见的新手程序设计可能会让用户感到烦恼。最好以其他方式显示多个视图。

09-05 00:27