调整进度条的大小

时间:2014-04-22 17:27:10

标签: java swing layout jpanel

我正在尝试重新调整进度条的大小以更好地适应我希望界面的外观,但无论我将高度和宽度更改为什么,都不会发生任何变化。

下面是我的一个进度条的代码,总共有10个......我已经将宽度/高度设置为5px到300px等等,只是为了看看是否发生了任何变化。

 barPanel.setLayout(new GridLayout(0 , 4));
 healthBar = new JProgressBar (0,100);
 healthLabel = new JLabel ("Health: ");
 healthBar.setPreferredSize( new Dimension (width, height));
 healthBar.setMaximumSize(new Dimension(width,height));
 healthBar.setMinimumSize(new Dimension(width, height));
 barPanel.add(healthLabel);
 healthLabel.setForeground(Color.white);
 barPanel.add(healthBar);

我尝试在网格和边框布局之间切换,但我对界面设计很新...非常新,如果有人可以帮助它将非常感激,如果需要更多的代码片段,我会很高兴添加它们。

我会完全上传我的解决方案,但是它用于大学任务,稍后我将完全更新它。

之前它只是解决方案的改编版本,但我创建了4个面板并将它们放在一个父面板中。

JLabel有两个面板,进度条有两个面板。然后在这些面板中,我添加了我的JLabel和进度条,并使用bounds方法调整大小和位置,即。 barPanel.setBounds(10,10,300,25); (X,Y,宽度,高度)

对不起,我现在无法提供完整的解决方案。

1 个答案:

答案 0 :(得分:2)

如果你想在GridLayout中调整进度条的大小,那么它可能会有所帮助:

barPanel.setLayout(new GridLayout(0 , 4,10,10));//Change Horizontal and Vertical gap like this

但可能没有给出你想要的尺寸,只是增加了组件之间的差距。

或其他方式

如果你真的对制作ui感兴趣,那么创建面板只会保留进度条,并使用现有的barpanel设置标签和新面板。由于面板的默认布局是FlowLayout,因此进度条的大小仍会拉伸,您可以使用setPreferredSize( new Dimension (width, height))调整其大小。您需要使用布局管理器的实用程序来有效地进行设计。

您修改的代码应如下所示:

    barPanel.setLayout(new GridLayout(0 , 4));
     JPanel newPanel=new JPanel();

     healthBar = new JProgressBar (0,100);
     healthLabel = new JLabel ("Health: ");
      newPanel.add(healthBar);
      healthBar.setPreferredSize( new Dimension (width, height));
     //healthBar.setMaximumSize(new Dimension(width,height));
     //healthBar.setMinimumSize(new Dimension(width, height));

     barPanel.add(healthLabel);
     healthLabel.setForeground(Color.white);

 barPanel.add(newPanel);