JProgressBar没有正确显示

时间:2017-04-10 18:38:33

标签: java swing

我正在尝试使用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 我做错了什么,它不是满的,绿色的,或者里面有String。

1 个答案:

答案 0 :(得分: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。