摇摆小组问题

时间:2010-04-14 22:48:04

标签: swing

好的,所以我整天都在拉头发。我不能让我的面板调整大小。我添加了一个面板到任何东西..一个框架,一个内容窗格,它不会...“强制”setBounds出于某种奇怪的原因。

Container pane = window.getContentPane();
JPanel calendarPanel = new JPanel(); 
pane.add(calendarPanel); 
calendarPanel.setBounds(0,0, 320, 335); 

请注意窗口是JFrame。任何建议小组的建议将不胜感激!

2 个答案:

答案 0 :(得分:2)

如果您还没有,听起来您需要查看layout managers。某些布局管理器会尊重所请求或首选的组件大小,而其他布局管理器则不会。

默认情况下,JFrame使用BorderLayout作为布局管理器。当您在上面添加日历面板而不提供约束时,它会假定您希望面板居中。无论您将组件的边界设置为什么,以BorderLayout为中心的任何内容都会占用所有可用空间。

要立即解决问题,请将布局管理器设置为null

Container pane = window.getContentPane();
pane.setLayout( null );

答案 1 :(得分:1)

您是否设置了父组件的布局?我认为FlowLayout使面板保持其自然尺寸。

component.setLayout(new java.awt.FlowLayout());

编辑:见Ash的帖子