我在 JTabbedPane 的(多个)JScrollPane 中有一个 JTextArea。
我需要访问 JTextArea。如果我没有 JScrollPane,我可以这样做:
JTextArea c = (JTextArea)jTabbedPane1.getComponentAt(i);
在 JScrollPane 中如何获取它?
干杯, 加兹勒。
最佳答案
听起来你会在那里遇到一堆困惑的引用资料(至少我过去就遇到过这种情况)。
我建议您有一个中间对象来为您负责这些依赖项,并将“业务”方法移到那里。
因此,您可以使用这个具有引用的对象,而不是添加组件并丢失引用(或者最糟糕的是,在各处复制引用):
class AppMediator {
private JTextArea area;
private JTabbetPane pane;
// etc.
public void doSomethingWithText() {
this.area.getText(); // etc
}
}
请参阅Mediator设计模式。重点是将所有“ View ”对象从它们所在的位置(通常作为子类中的引用)移动到公共(public)中间对象。
关于java - 访问 JScrollPane 中的 JTextArea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1834382/