【发布时间】:2013-12-11 01:29:21
【问题描述】:
所以,我在滚动窗格中有一堆文本字段。 当用户关注底部的最后一个时,会添加更多文本字段。 我的问题是,我怎样才能让滚动窗格滚动到焦点文本字段? 我的意思是,用户将按 TAB 或 ENTER 键跳转到下一个文本字段,但如果不滚动自己,他将无法看到它。 当最后一个文本字段有焦点时,我可以模拟按下向下箭头或 PageDown 但这会很难看,即使它会做我需要做的事情。
我通过搜索找到了类似的东西,但我无法让它工作。
public void focusGained(FocusEvent e) {
currentview = t1;
int cons = i - 1;
Rectangle r = new Rectangle(t1.getX(), t1.getY(), 1, 1);
jScrollPane1.scrollRectToVisible(r);
if (t1.getName().equals("prod" + cons)) {
newproduct();
};
}
【问题讨论】:
-
你可以试试
JComponent#scrollRectToVisible,例如t1.scrollRectToVisible(t1.getBounds()) -
大坝!你是对的,
JTextField的scrollRectToVisible没有将调用传递给超级实现...。您尝试了一种破解方法,请参阅答案...
标签: java swing focus textfield scrollpane