Answers:
根据您的第一个要求,您正在寻找框架而不是库。
jMonkeyEngine是3D游戏的框架(即,它提供了您需要的主循环,类似于XNA),但对于2D来说并不是一个好的选择。
但是,编写游戏循环并不是一件容易的事,并且现有的Java库可以满足您的第二和第三要求,因此,我强烈建议您查看场景图3D库/引擎或任何2D库,具体取决于您制作的是2D或3D游戏。
我对场景图3D引擎的建议是Aviatrix3D,Ardor3D,Java3D和jMonkeyEngine。
对于2D库,您可以使用JGame,也可以选择使用OpenGL以获得最大速度,并使用LWJGL或JOGL。您也可以使用Java的内置Graphics2D库,如果您打算将游戏部署为applet,这将是一个特别好的选择。
对于打算在内置的Graphics2D路线,看看源代码,以Metagun(点击小程序形式播放)。这是一个很小的但写得很好的2D Java游戏,我认为这是一个很好的小游戏示例。复制其结构,您便拥有了最佳的游戏循环/框架。
如果您希望一个框架同时支持2D和3D,则我所看到的最接近的是jPct。它是3D,但是在他们的论坛中,他们有一些调整可以做2D。
我建议您使用Xith3D或Java Monkey Engine for 3D。还有2D的Slick或GTGE。
我正在写一本有关Java游戏开发的书,我已经完成了2D和3D Java游戏开发基础知识的章节,它可以为您提供一个起点,请看这里:
高山