我不知道如何正确解释这一点,所以这里有一张图片:
你可以在绿线周围看到相当多的背景,特别是在线的起点和下面。我该如何解决这个问题?
答案 0 :(得分:0)
您可能需要将setBorderPainted设置为false。 参考 http://docs.oracle.com/javase/8/docs/api/javax/swing/JProgressBar.html#setBorderPainted-boolean-
答案 1 :(得分:0)
屏幕截图中显示的空格/边框只是父面板的间距,而不是JProgressBar
的边框。
例如,在此示例中,您将看不到进度条周围的任何边框:
final JFrame f = new JFrame("Test");
final JProgressBar pb = new JProgressBar();
pb.setValue(50);
f.getContentPane().add(pb);
f.pack();
f.setVisible(true);
但是,如果您使用JPanel
作为内容窗格,其中FlowLayout
具有默认的5像素水平和零差距,您将看到屏幕截图中的内容。
f.setContentPane(new JPanel(new FlowLayout()));
如果在组件之间使用0间距,则空格会消失:
f.setContentPane(new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 0)));