JLabel没有正确绘图

时间:2017-07-31 19:23:26

标签: java swing user-interface

我为游戏制作战利品记录器,当我尝试在启动时绘制主菜单标题时,没有任何事情发生。当我使用JButton调用完全相同的代码时,它可以正常工作

代码:

{"Content":
    {
      "LevelId":459,
      "FieldContents":{
         "17684":{
            "Type":11,
            "Value":[5433],
            "FieldId":17684
         },
         "17687":{
            "Type":23,
            "Value":[222579],
            "FieldId":17687
         },
         "17685":{
            "Type":4,
            "Value":[69678],
            "FieldId":17685
         }
      }
   }
}

但是当我这样称它时它起作用:

public Mainmenu(){

    initComponents(); 

    drawmenu();
}
private void drawmenu(){

    Graphics g = jLabel1.getGraphics();

    g.setFont(g.getFont().deriveFont(30f));

    g.drawString("Loot Logger v.1.0", 215, 80); 
}

1 个答案:

答案 0 :(得分:1)

Graphics g = jLabel1.getGraphics();
g.setFont(g.getFont().deriveFont(30f));
g.drawString("Loot Logger v.1.0", 215, 80); 

不要使用getGraphics(...)绘制标签(或任何Swing组件)。

您需要做的就是将标签添加到框架中,然后更改标签的文本:

jLabel1.setFont(...);
jLabel1.setText(...);

阅读How to Use Labels上Swing教程中的部分,了解更多信息和工作示例,以帮助您入门。