所以我有一个JFrame,里面有一个JScrollPane,而JScrollPane里面有一个JPanel。我有一个按钮单击鼠标侦听器,它修改了JScrollPane中的JPanel。在小鼠听者的代码是:只有在更改JFrame的大小后才更新视图
@Override
public void mouseClicked(MouseEvent arg0) {
searchResult.updateInfo();
}
方法updateInfo时被加入一些JPanel的进入信息搜索结果的JPanel。当我点击与这个监听器关联的按钮后,什么都没有发生,但是当我调整JFrame的大小时......它更新了视图..为什么会这样呢?
我试图重新绘制的JFrame,但它并没有解决我的问题
这是因为LayoutManager仅在第一次渲染时询问如何布置组件。您必须通过调用'revalidate()'来告诉组件要求LayoutManager重新执行此操作。 – ZeissS 2010-11-19 21:45:26
谢谢!这解决了我的问题 – aherlambang 2010-11-19 21:49:26