我正在尝试重新调整进度条的大小以更好地适应我希望界面的外观,但无论我将高度和宽度更改为什么,都不会发生任何变化。
下面是我的一个进度条的代码,总共有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,宽度,高度)
对不起,我现在无法提供完整的解决方案。
答案 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);