我想让 JList 和 JTextArea 随窗口调整大小,但 JPanel 保持在中心。
问问题
363 次
1 回答
2
您的 LogView 类扩展了 JPanel,因此除非您更改它,否则它将使用 JPanel 的默认布局 FlowLayout。当容器改变大小时,保存在使用 FlowLayout 的容器中的组件不会改变大小,因此如果您想要这种行为,您不需要组件侦听器 - 您只需将 LogView JPanel 的布局管理器更改为 BorderLayout或类似的东西,允许其持有的组件扩展,就是这样。一行代码:
public LogView(final JFrame contentPane) {
// .......
setLayout(new BorderLayout()); // add this, that's it
add(mainPanel);
}
另一种选择是摆脱 mainPanel,因为它似乎根本没有必要,将 LogView 对象的布局设置为 GridBagLayout 并将组件直接添加到 LogView 对象。
于 2012-02-09T01:24:17.573 回答