好的,所以我整天都在拉头发。我不能让我的面板调整大小。我添加了一个面板到任何东西..一个框架,一个内容窗格,它不会...“强制”setBounds出于某种奇怪的原因。
Container pane = window.getContentPane();
JPanel calendarPanel = new JPanel();
pane.add(calendarPanel);
calendarPanel.setBounds(0,0, 320, 335);
请注意窗口是JFrame。任何建议小组的建议将不胜感激!
答案 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的帖子