java - 通过数轴从 JTextArea 获取文本

2023-12-28

对于我的情况,我想通过数字行获取 JTextArea 内的文本。

For e.g

name : andy
birth : jakarta, 1 jan 1990
number id : 01011990 01
age : 26
study : Informatics engineering

所以,我想在第 3 行获取文本。

我想我可以用jTextArea.getText(3,jTextArea.getText().length()), 但它不起作用。

所以,从第 3 行开始,我希望得到文本

number id : 01011990 01

简单地基于您的示例上一个问题 https://stackoverflow.com/questions/34738025/java-inserting-text-using-jtextarea-by-number-line...

Document doc = textArea.getDocument();
Element root = doc.getDefaultRootElement();
Element element = root.getElement(2);
int start = element.getStartOffset();
int end = element.getEndOffset();
System.out.println(doc.getText(start, end - start));

以及可运行的代码

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.WindowConstants;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.Element;

public class ElementEndOffsetTest {

    public JComponent makeUI() {
        String str = "name : andy\n"
                + "birth : jakarta, 1 jan 1990\n"
                + "number id : 01011990 01\n"
                + "age : 26\n"
                + "study : Informatics engineering\n";

        JTextArea textArea = new JTextArea(str);
        textArea.setEditable(false);
        JPanel p = new JPanel(new BorderLayout());
        p.add(new JScrollPane(textArea));
        p.add(new JButton(new AbstractAction("add") {
            @Override
            public void actionPerformed(ActionEvent e) {
                try {
                    Document doc = textArea.getDocument();
                    Element root = doc.getDefaultRootElement();
                    Element element = root.getElement(2);
                    int start = element.getStartOffset();
                    int end = element.getEndOffset();
                    System.out.println(doc.getText(start, end - start));
                } catch (BadLocationException ex) {
                    ex.printStackTrace();
                }
            }
        }), BorderLayout.SOUTH);
        return p;
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(() -> {
            JFrame f = new JFrame();
            f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            f.getContentPane().add(new ElementEndOffsetTest().makeUI());
            f.setSize(320, 240);
            f.setLocationRelativeTo(null);
            f.setVisible(true);
        });
    }
}

但是,根据您的问题,我建议您考虑使用JTable相反,它会更容易,请参阅如何使用表格 http://docs.oracle.com/javase/tutorial/uiswing/components/table.html更多细节

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java - 通过数轴从 JTextArea 获取文本 的相关文章

  • 如何在java中以编程方式访问网页

    有一个网页 我想从中检索某个字符串 为此 我需要登录 单击一些按钮 填充文本框 单击另一个按钮 然后就会出现字符串 我怎样才能编写一个java程序来自动执行此操作 是否有任何有用的库用于此目的 Thanks Try HtmlUnit htt
  • setSize() 不起作用?

    我有一个程序 需要两个按钮 一个是常规按钮 另一个具有根据鼠标悬停而变化的图片 目前 由于图片很大 JButton自定义也很大 我可以更改自定义的大小并保持图像 和翻转图像 成比例吗 我尝试过 setSize 但它没有任何作用 对于任何反馈
  • 无法解析 Java 中的方法

    我有一个Question具有 4 个的对象Answer里面的物体 在 Question java 我有一个方法是 public Answer getA return a 在另一种方法中我有 if questions get randomNu
  • Java ASN.1 编译器

    现在我正在使用二进制笔记 http bnotes sourceforge net 解析 ASN 1 文件以在 Java 项目中使用 它采用 ASN 1 定义并生成 Java 类 让我可以操作 ASN 1 文件 我用扩展标记碰壁了 因为它不支
  • 在这种情况下,我如何处理 Function 和省略号/可变参数?

    我的项目之一是抛出 lambda 表达式 https github com fge throwing lambdas 我的目标是简化潜在的使用 FunctionalInterfaces in Streams 其在流中使用的唯一 缺陷 是它们
  • 将 hyperjaxb3 升级到 jpa 2.1

    我正在尝试在使用 maven jpa hibernate 和 hyperjaxb 的 eclipse 项目中升级到 JPA 2 1 当我尝试执行以下操作时出现以下错误Run As Run on Server从日食内部 java lang N
  • 如何实现可运行队列

    我正在尝试实现一个可运行队列 在异步任务期间依次执行 意味着队列中的下一个将在另一个完成后执行 我编写了一个管理器来管理这些可运行对象和本身就是可运行对象的任务 然后 我获取异步任务中的第一个任务并运行它 希望它能够在队列中运行 但是它最终
  • Android 上 WebRTC 的自定义视频源

    Overview 我想使用自定义视频源通过 WebRTC Android 实现来直播视频 如果我理解正确的话 现有的实现仅支持 Android 手机上的前置和后置摄像头 以下类与此场景相关 Camera1Enumerator java ht
  • HTTPURLConnection 不遵循从 HTTP 到 HTTPS 的重定向

    我不明白为什么JavaHttpURLConnection不遵循从 HTTP 到 HTTPS URL 的 HTTP 重定向 我使用以下代码来获取页面https httpstat us https httpstat us import java
  • json文件格式的升级路径

    我们将 Java 应用程序的用户首选项存储在 JSON 文件中 使用Jackson http jackson codehaus org 随着我们继续开发该应用程序 我们将添加首选项 重命名首选项并删除过时的首选项 当用户将应用程序升级到下一
  • 如何在android中播放内部和外部SD卡中的mp3文件?

    我正在开发一个 mp3 播放器应用程序 它可以播放内部 SD 卡内任何位置的 mp3 文件 我使用以下代码来获取内部存储中存在的 mp3 文件 ArrayList
  • 如何制作一个向用户显示图像而不是文本的下拉列表?

    ObjectChoiceField 字段满足我的所有要求 但它并不漂亮 这就是我所拥有的 String pets Dog Cat Duck ObjectChoiceField dd new ObjectChoiceField My Pet
  • Spring Boot 1.4:Liquibase完成后的执行方法

    我有一个基于 Spring Boot 1 4 0 的项目 该项目使用 Liquibase liquibase 完成后是否可以执行方法 像 Bean 后处理器之类的东西 我想要做的是当应用程序在开发模式下启动时向我的数据库添加一些数据 在开发
  • 更改 WireMock __files 目录

    来自docs http wiremock org docs stubbing 要从文件中读取正文内容 请将文件放在 files 下 目录 默认情况下 这应该位于 src test resources 下 从 JUnit 规则运行时 当独立运
  • Windows:如何获取所有可见窗口的列表?

    无论如何都要使用相关技术重新标记 我不知道它们是什么 稍后我可能会提出更详细的问题 关于具体细节 但现在我正在尝试掌握 大局 我正在寻找一种方法来枚举 Windows 上的 真实可见窗口 我所说的 真正可见的窗口 就是指 用户所说的 窗口
  • Jersey/JAX-RS:如何自动使用@Valid递归级联bean验证?

    我正在 Jersey 的 REST 资源端点中验证我的 POJO public class Resource POST public Response post NotNull Valid final POJO pojo public cl
  • 了解 Etc/GMT 时区

    Apple 在从 App Store 返回自动续订订阅收据时使用 Etc GMT 时区的理由是什么 Etc GMT 时区到底是什么 Java SDK 能理解这个时区吗 或者我是否必须使用其他第三方库 例如乔达时间 http www joda
  • CTRL-C 在 Python 中的行为有所不同

    I ve recently started learning Python long time Java programmer here and currently in the process of writing some simple
  • 需要使用自定义类而不是在 Web 服务中生成(通过 wsimport)

    您能帮忙解决以下问题吗 当生成 WS 客户端代码 使用 wsimport ant 任务 时 所有类都会在与 Web 服务相同的包 例如 helloservice endpoint 中自动生成 例如如果我的网络服务有方法 公共节点 getNo
  • 根据另一个列表的顺序对列表进行排序[重复]

    这个问题在这里已经有答案了 我需要对列表进行排序Person对象 List

随机推荐

  • 检查视图是否自午夜以来已加载

    我有一个 ViewController 它对数组执行随机洗牌并将文本吐出到标签 在viewDidLoad方法 问题是 每当我导航到同一个 ViewController 时 它都会再次执行随机播放 而我每天只需要它随机播放一次 因此 我需要检
  • 从 iOS 应用内购买收据中检索订单 ID/文档编号

    目前 我们的系统的工作方式是 当用户购买应用内订阅时 购买的收据数据会发送到服务器 验证后我们将相应地更改用户的权利 有时 由于各种原因 我们可能会遇到这样的问题 用户可能没有获得应有的权利 在这种情况下 他们会通过电子邮件向我们发送从 A
  • 在 GSON 中使用泛型

    我正在使用 GSON 将 JSON 解码为 T 类型的对象 例如 public T decode String json Gson gson new Gson return gson fromJson json new TypeToken
  • 禁用 XAML 预览

    在 Visual Studio 2008 中 当我从项目中打开 XAML 文件时 它会显示水平分割 预览位于顶部 XAML 位于底部 大多数时候 我们的 XAML 不会在预览中呈现 因此我只需等待它尝试呈现 然后关闭预览 有没有办法让它默认
  • 如何安装我自己的扩展? VS代码

    我使用 Yeoman Generator 制作了自己的扩展包 但我不知道如何将其安装在我的 vscode 上 也许如果我将扩展包导出到市场 这是可能的 但我不想这样做 You can 将扩展打包到 vsix 文件中 https code v
  • bash——在运行之间存储变量的更好方法?

    我制作了一个 bash 脚本 我使用 crontab 每小时运行一次 并且我需要存储一个变量 以便下次运行它时可以访问它 该脚本每次运行时都会更改变量 因此我无法对其进行硬编码 现在我将其写入 txt 文件 然后读回 还有比这更好的方法吗
  • 在数据库的未知表中查找特定列?

    我试图在包含 125 个表的数据库中找到未知的特定列 我正在寻找一个通配符 例如 watcher 这可能吗 SELECT TABLE NAME COLUMN NAME DATA TYPE IS NULLABLE COLUMN DEFAULT
  • Java/HTML 编码问题(破折号变成 -)

    情况 我正在尝试修复一些使用 Java 后端通过 Velocity Mail Manager 发送自动电子邮件的代码 问题 主题在Java代码中设置如下String subject Hello what s next 然后将其设置为消息对象
  • 重复将数据从 Windows 服务传输到控制台应用程序

    这是我的场景 我有一个 Windows 服务 每 20 分钟运行一次任务 任务是 从远程网站托管的 API 请求更新 响应是 JSON 对象列表 当服务收到该列表时 它会执行一组操作 然后附加更多 JSON 对象 最后服务必须将该列表推送到
  • x86 上两个 128 位整数的高效乘法/除法(无 64 位)

    编译器 明威 海湾合作委员会 Issues 不允许使用 GPL LGPL 代码 GMP 或任何 bignum 库对于这个问题来说都太过分了 因为我已经实现了该类 我已经构建了自己的128 bit固定大小的大整数类 旨在用于游戏引擎 但可以推
  • SCRIPT70:添加选项以从最近关闭的 iframe 中选择元素时权限被拒绝

    我们在从 iframe 向选择元素添加选项时遇到问题 该代码在 Chrome Firefox 和 Opera 中运行良好 但在 IE11 中 当尝试从父窗口访问最近创建的选项时 我们会收到 SCRIPT70 权限被拒绝 我们需要的是将选项添
  • 如何使 Xamarin.Forms.Editor 可滚动/自动调整大小?

    我有一个可滚动布局 里面有一个编辑器 我想使其可滚动或自动调整大小以适应内容 我找不到怎么做 我尝试了自定义渲染器 但找不到如何将 InputMethods 设置为控件 有任何想法吗 在这篇文章的帮助下 https forums xamar
  • Java 和 C# 中易失性语义背后的原因是什么

    C 和 Java 都定义了这一点 易失性读取具有获取语义 易失性写入具有释放语义 我的问题是 这是定义 volatile 的唯一正确方法吗 If not will things be awfully different if the sem
  • 有人可以解释一下如何在 C 编程中将元素附加到数组吗?

    如果我想将一个数字附加到初始化为 int 的数组中 我该怎么做 int arr 10 0 5 3 64 arr 5 Is this it it s not working for me 我最后想要 0 5 3 64 5 我习惯了 Pytho
  • 仅获取单词后接下来的 6 个字符

    我有这个字符串 string foo bar php haystack needle 我想得到接下来的 6 个字符php 所以我会得到 haysta 我怎样才能做到这一点 问候 你只需要找到位置 php 然后添加做一个substr 在该位置
  • CSS 变换并调整元素大小

    我找到了这个 变换后的宽度 高度 https stackoverflow com questions 7565542 width height after transform 和其他几个 但没有什么不是我正在寻找的 我想要的是将某些内容缩放
  • Rails3 ActionView 模板处理程序在生产服务器上不起作用

    我正在使用 Rails 3 2 3 Ruby 1 9 3p125 jbuilder 0 4 0 In my view mycontroller文件夹我有一个show json jbuilder文件 当我在本地机器上测试所有内容时rails
  • 是否可以在运行时可靠地检测哪个商店安装了 Android 应用程序(Google Play 或 Amazon Market)?

    我需要知道哪个商店是应用程序的安装程序 以便我知道与哪个商店进行通信以实现应用程序内购买功能 是确定的100 可靠生成两个单独的二进制文件的方法 或者有没有一个100 可靠基于代码的运行时方法 Stackoverflow 上还有很多类似的问
  • 如何比较两个 tm(来自 ctime)变量

    我刚刚开始学习C 我正在使用 Windows 7 Ultimate x64 和 Visual Studio 版本 Microsoft Visual Studio Enterprise 2017 Version 15 9 12 VisualS
  • java - 通过数轴从 JTextArea 获取文本

    对于我的情况 我想通过数字行获取 JTextArea 内的文本 For e g name andy birth jakarta 1 jan 1990 number id 01011990 01 age 26 study Informatic