java - 访问 JScrollPane 中的 JTextArea

标签 java swing jtextarea

我在 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/

相关文章:

java - 在 Java 中右键单击 JTextArea 时显示 JPopupMenu?

java - 如何在 Java 中强制指定常量

java - 原始数组和引用数组有什么区别。

java - @ViewScoped 托管 bean 中的 @EJB 导致 java.io.NotSerializableException

java - 在 JTable 中添加带有单独工具提示的多个图标

java - setSelectionBackGround() 未在 jTable 中设置颜色

java - Java中BoxLayout的JLabel问题

java - jtextarea滚动

java - JTextArea - 如何获取当前行的第一个索引?

java - 使用 H2 和 HSQL DB 时 Hibernate 查询返回重复结果集