java-在JScrollPane中访问JTextArea

我在JTabbedPane中的(多个)JScrollPane中有一个JTextArea.

我需要访问JTextArea.如果没有JScrollPane,则可以执行以下操作:

JTextArea c = (JTextArea)jTabbedPane1.getComponentAt(i);

在JScrollPane中如何获取?

干杯,
Gazler.

解决方法:

这行看起来很复杂,但是我认为可以做到这一点.

JTextArea c = (JTextArea) (((JViewportView) (((JScrollPane) jTabbedPane1.getComponentAt(i)).getViewport()))).getView();

但我认为将您的TextArea存储在ArrayList中会更有趣.
因此,您可以执行以下操作:

List<JTextArea> listAreas = new ArrayList<JTextArea>();

...
JTextArea c = listAreas.get(i);

创建一个新的是这样的:

JTextArea c = new JTextArea();
jTabbedPane1.addTab("Title", new JScrollPane(c));
listAreas.add(c);

希望这可以帮助.

上一篇:java-JTextArea中的setText()机制?


下一篇:java-使用ScrollPane自动滚动JTextArea?