在我的一个项目中,我一直在尝试将 JConsonle 添加到 JPanel 女巫中,该女巫被另一个 JPanel 包含。
问题是 JConsole 一直设置为距 JPanel 顶部 5px。起初我以为是容器设置正确,但在给它一个红色背景后我意识到控制台被设置为 5px从顶部开始。
我还尝试使用 BorderLayout 将其设置在 JPanel 的 NORTH 或 CENTER 中,但是 也可以工作。
这是我的代码:
public class MonopolyPanel extends JPanel {
JPanel consoleP = new JPanel();
JConsole console = new JConsole();
MonopolyPanel(){
this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
console.setPreferredSize(new Dimension(530, 300));
consoleP.add(console);
this.add(consoleP);
}
}
最佳答案
控制台添加到默认有FlowLayout的consoleP,默认有5px的纵横间距。使用零间隙的 FlowLayout 实例化它应该可以解决问题
consoleP == new JPanel(new FlowLayout(align, 0, 0));
关于Java布局问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8862510/