访问JScrollPane中的JTextArea[英] Accessing a JTextArea in a JScrollPane

问题描述

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

我需要访问 JTextArea.如果我没有 JScrollPane,我可以这样做:

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

在 JScrollPane 中如何获取它?

干杯,加兹勒.

推荐答案

这条线看起来很复杂,但我认为这样就可以了.

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);

希望这会有所帮助.

本文地址:https://www.itbaoku.cn/post/978510.html