JScrollPane关注以下问题

时间:2012-09-21 22:23:12

标签: java swing jscrollpane

我的JScrollPane内有JPanel

JPanel workspace = new JPanel();
workspace.setLayout(new BoxLayout(workspace, BoxLayout.Y_AXIS));

//create scrollPane and add workspace to it
JScrollPane scroll = new JScrollPane(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scroll.setViewportView(workspace);

工作区是一组复杂的多级JPanelsJTextAreas

其中一个JTextAreas称为q

我希望我的JScrollPane在收到焦点时滚动到它:

JTextArea q = new JTextArea();
workspace.add(q);
q.requestFocus();
Main.scroll.getViewport().scrollRectToVisible(q.getBounds());

JTextArea在我开始输入文本后立即进入可见部分,但我希望它一旦创建就可以看到...

但是,上面的代码不起作用,它什么都不做。实际上,JScrollPane只是保持在代码之前......

我做错了什么?

0 个答案:

没有答案