我有一个带有多层子组件的JPanel,也有一个JScrollPane。我在一些子组件上放置了一个焦点侦听器,以向这些组件添加一些行为,但我也希望在获得焦点时,该组件滚动到JPanel的视区中。
我的问题是,有没有人有类似于浏览器DOM函数"scrollIntoView“的通用函数来做这件事?我试过用JComponent.scrollRectToVisible的各种输入来蒙混过关,但我猜我还没有想出这个神奇的词。
提前谢谢。
发布于 2010-06-14 06:31:52
最明显的事情是在JScrollPane上调用scrollRectToVisible,它可以很好地编译,但不会执行您想要的操作。您必须在滚动窗格的视区中包含的对象上调用scrollRectToVisible。代码看起来应该类似于:
java.awt.Component focusedComponent = evt.getComponent();
panel.scrollRectToVisible(focusedComponent.getBounds(null));
repaint();https://stackoverflow.com/questions/3033317
复制相似问题