Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Roguelike开发-jlabel对jlabel_Java_Layout_Jlayeredpane - Fatal编程技术网

Java Roguelike开发-jlabel对jlabel

Java Roguelike开发-jlabel对jlabel,java,layout,jlayeredpane,Java,Layout,Jlayeredpane,又是我。 我仍在发展我的流氓形象,但我还有一个问题。我使用Jlabel的2D数组在GridLayout上显示我的地图,它工作得非常好。但是现在,我想在地板上画我的角色,怪物等等。我是否被迫将布局切换到JLayeredPane,或者我是否可以通过GridLayout实现这一点?您应该使用多个JPanels 如果您已经完成了地图(地板),请将该代码移到JPanel(使用GridLayout) 制作另一个JPanel来显示怪物和其他东西。(以您喜欢的LayoutManager为准) 将这些JPane

又是我。
我仍在发展我的流氓形象,但我还有一个问题。我使用Jlabel的2D数组在GridLayout上显示我的地图,它工作得非常好。但是现在,我想在地板上画我的角色,怪物等等。我是否被迫将布局切换到JLayeredPane,或者我是否可以通过GridLayout实现这一点?

您应该使用多个
JPanel
s

  • 如果您已经完成了地图(地板),请将该代码移到
    JPanel
    (使用
    GridLayout
  • 制作另一个
    JPanel
    来显示怪物和其他东西。(以您喜欢的
    LayoutManager
    为准)
  • 将这些
    JPanel
    s添加到具有
    JLayeredPane
    的框架中
所以两者都有优势

注意:不要忘记在顶部的
JPanel
上调用
setOpaque(false)


祝你好运。

使用JLabel非常慢,你应该使用单空格字体直接写入JPanel的图形对象,或者使用库

  • libjcsi
我推荐我的,那是SquidLib。这是最新的,最具特色的,也是唯一一个仍在继续发展的。它也是唯一一个拥有大量示例并支持Java可以加载的任何字体的版本

如果您更习惯于使用curses或libtcod方式与控制台进行交互,Blacken是个不错的选择,但它们不允许任意使用字体


没有链接到libjcsi,因为我没有足够的代表发布超过2个链接。不过用谷歌搜索很容易。

谢谢你的回答。我原以为我可以更快地完成一些事情,但我想我别无选择(虽然看起来并不困难)。