我设计了一个Swing窗体。它由一个本身包含另一个JPanel的JScrollPane组成。由于某些UI事件,将在此JPanel中附加一个Component。它就像一个消息框,当消息到达时,消息会被附加到列表中。问题是如何使此JPanel上的更改可见。为了实现这一点,我只需调用JFrame#pack()方法。但是调用它会将框架的大小调整为容器的大小,而忽略我最初设置的prefferedSize, and maximumSize界限。滚动条也不会变得可见,只是当组件被附加到面板上时,框架的高度会变大。我希望我的框架应该保持在其初始大小,滚动条应该开始行动,当组件的总大小超过框架的大小。我哪里错了