由于您要在主JPanel中添加两个JPanel,因此这两个面板都需要容纳在主面板中。
如果其中一个内部面板比另一个内部面板大得多,则主面板将进行调整以适合较大的面板。
例如,注释此行:
chatbox.setPreferredSize(new Dimension(200,200));
会使您的文本字段保持原样。这是因为chatbox不会导致容器调整大小。
另请注意,由于尚未设置主面板的尺寸,因此主面板最初与主机架的尺寸不同。
如果将connectPanel的大小设置为与主机框架相同的大小,则在添加chatPanel时,connectPanel不会自动调整大小(由于mainPanel的大小已调整)
因此,您可以做的是在中间添加一行:
JPanel connectPanel = new JPanel();connectPanel.setSize(640, 480);mainPanel.add(connectPanel, "connectPanel");
,这可能会解决您的问题。
尽管这可行,但我绝对建议您在所有GUI设计中使用 MIG
Layout。如果您花一个小时学习它,它将为您节省大量时间。它还将使您不必手动设置大小(从而不必每次设计更改都重写一半的GUI代码)。



