我正在尝试使用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。
答案 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。