单击时从JTextArea获取一行

亚当·克

这仅用于学习目的。

我有两个JTextArea -s:messagearea和chatarea。与往常一样,消息区域中有一个随机文本,行之间用\ n分隔。当单击一行时,我想将该行附加到chatarea。这是我的代码:

messagearea.addMouseListener(new MouseAdapter()
    {
        public void mouseClicked(MouseEvent me)
        {
            if (!messagearea.getText().trim().equals("")) {
                int position = messagearea.viewToModel(messagearea.getMousePosition());
                String[] text = messagearea.getText().split("\n");
                int[] charNum = new int[text.length];
                for (int i = 0; i < text.length; i++) {
                    charNum[i] = text[i].length() + 1;
                }
                int sum = 0;
                for (int i = 0; i < charNum.length; i++) {
                    sum += charNum[i];
                    if (sum >= position) {
                        chatarea.append(text[i] + "\n");
                        break;
                    }
                }
            }
        }
    });

我想知道,是否有更简单的方法可以做到这一点。

提前谢谢了!

卡米克尔

我想知道,是否有更简单的方法可以做到这一点。

这不是一个非常有效的解决方案,因为您每次都解析整个文档,随着文本区域中文本数量的增加,这种情况会变得更糟。

使用可利用文档结构的文本区域方法。就像是:

int line = textArea.getLineOfOffset( textArea.getCaretPosition() );
int start = textArea.getLineStartOffset( line );
int end = textArea.getLineEndOffset( line );
String text = textArea.getDocument().getText(start, end - start);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

单击时可以获取一行的屏幕位置吗?

来自分类Dev

单击获取全部一行的值

来自分类Dev

当另一行编辑单击时启用表单

来自分类Dev

单击一行时添加图像(<li>标签)

来自分类Dev

当单击一行数据网格中的按钮时,另一行隐藏按钮

来自分类Dev

选择一行并单击数据表中的按钮后,获取表行的行ID

来自分类Dev

单击表行时突出显示,并在单击下一行时禁用

来自分类Dev

我总是在获取最后一行的数据,而不是使用CursorAdapter在listview中单击的行

来自分类Dev

我总是在获取最后一行的数据,而不是使用CursorAdapter在listview中单击的行

来自分类Dev

JTextArea不会显示输出到它的每一行

来自分类Dev

如何存储从JTextArea到String的一行

来自分类Dev

jQuery的。使用单击的元素在同一行上获取值范围元素

来自分类Dev

单击列表视图中的一行后,如何从列表视图中获取特定的列值?

来自分类Dev

单击按钮后删除一行

来自分类Dev

ngGrid-单击按钮时编辑一行(ASP.NET Gridview编辑等效项)

来自分类Dev

单击custome listview中的按钮时,如何更改特别是一行textview的值?

来自分类Dev

在VB中的DataGridView中单击一行时填充文本框?

来自分类Dev

从html表中选择一行,并在单击按钮时发送值

来自分类Dev

Django:如何在单击一行时更改页面?

来自分类Dev

从html表中选择一行(突出显示),并在单击按钮时发送值

来自分类Dev

Xamarin Forms MVVM在CollectionView中单击一行时显示图标/图像

来自分类Dev

单击动态生成的表中的一行时,选中其单选按钮

来自分类Dev

在VB中的DataGridView中单击一行时填充文本框?

来自分类Dev

尝试在用户单击时突出显示表中的一行

来自分类Dev

当我有动态表格时,能够在“按钮单击”上更新一行

来自分类Dev

使用Jquery单击按钮时如何将数据更新到每一行?

来自分类Dev

HTML + JavaScript:如何在单击Javascript中的按钮时突出显示一行?

来自分类Dev

当另一行单击时,切换按钮向后更改

来自分类Dev

从html表中选择一行(突出显示),并在单击按钮时发送值

Related 相关文章

  1. 1

    单击时可以获取一行的屏幕位置吗?

  2. 2

    单击获取全部一行的值

  3. 3

    当另一行编辑单击时启用表单

  4. 4

    单击一行时添加图像(<li>标签)

  5. 5

    当单击一行数据网格中的按钮时,另一行隐藏按钮

  6. 6

    选择一行并单击数据表中的按钮后,获取表行的行ID

  7. 7

    单击表行时突出显示,并在单击下一行时禁用

  8. 8

    我总是在获取最后一行的数据,而不是使用CursorAdapter在listview中单击的行

  9. 9

    我总是在获取最后一行的数据,而不是使用CursorAdapter在listview中单击的行

  10. 10

    JTextArea不会显示输出到它的每一行

  11. 11

    如何存储从JTextArea到String的一行

  12. 12

    jQuery的。使用单击的元素在同一行上获取值范围元素

  13. 13

    单击列表视图中的一行后,如何从列表视图中获取特定的列值?

  14. 14

    单击按钮后删除一行

  15. 15

    ngGrid-单击按钮时编辑一行(ASP.NET Gridview编辑等效项)

  16. 16

    单击custome listview中的按钮时,如何更改特别是一行textview的值?

  17. 17

    在VB中的DataGridView中单击一行时填充文本框?

  18. 18

    从html表中选择一行,并在单击按钮时发送值

  19. 19

    Django:如何在单击一行时更改页面?

  20. 20

    从html表中选择一行(突出显示),并在单击按钮时发送值

  21. 21

    Xamarin Forms MVVM在CollectionView中单击一行时显示图标/图像

  22. 22

    单击动态生成的表中的一行时,选中其单选按钮

  23. 23

    在VB中的DataGridView中单击一行时填充文本框?

  24. 24

    尝试在用户单击时突出显示表中的一行

  25. 25

    当我有动态表格时,能够在“按钮单击”上更新一行

  26. 26

    使用Jquery单击按钮时如何将数据更新到每一行?

  27. 27

    HTML + JavaScript:如何在单击Javascript中的按钮时突出显示一行?

  28. 28

    当另一行单击时,切换按钮向后更改

  29. 29

    从html表中选择一行(突出显示),并在单击按钮时发送值

热门标签

归档