2017-04-10 176 views
0

我正在尝试使用JProgressBar作为简单游戏的健康栏。我试图让它充满并且可以启动程序。这是我的代码JProgressBar的:JProgressBar没有显示正确

progressBar = new JProgressBar(); 
    progressBar.setMinimum(0); 
    progressBar.setMaximum(model.user.getTotalHp()); 
    progressBar.setValue(model.user.getTotalHp()); 
    progressBar.setForeground(Color.GREEN); 
    progressBar.setString(model.user.getHp() + "/" + model.user.getTotalHp()); 
    progressBar.setBounds(450 + insets.left, 370 + insets.top, 
      size.width+40, size.height + 45); 
    add(progressBar); 

这是结果:https://gyazo.com/4e6fc1879597ba67495bda183dbbf212 我在做什么错了,这不是完整的,绿色的,或者有内部的字符串。

回答

1

的字符串不画,因为你需要调用这个第一:

progressBar.setStringPainted(true); 

我用下面的代码和进度条渲染罚款:

JFrame frame = new JFrame("test"); 
JProgressBar progressBar = new JProgressBar(); 
progressBar.setMinimum(0); 
progressBar.setMaximum(100); 
progressBar.setValue(50); 
progressBar.setForeground(Color.GREEN); 
progressBar.setString("50/100"); 
progressBar.setStringPainted(true); 
frame.add(progressBar); 
frame.setVisible(true); 

也许你总要来了作为0或可能是一个浮点四舍五入到0.

+0

感谢这真的有帮助 –

+0

如果它回答这个问题,请考虑标记为接受的答案,谢谢! – Charlie