【问题标题】:Java. Searching a word in a text area爪哇。在文本区域中搜索单词
【发布时间】:2014-01-08 16:46:58
【问题描述】:

美好的一天。我正在做一个项目,我有一个问题。我有一个导入了 .txt 文件的文本区域,我想创建一个搜索按钮,我想输入一个单词并在该文本区域中搜索它。与CTRL+F类似,输入一个单词,按回车即可找到该单词。

我的代码如下所示:

JScrollPane textp1 = new JScrollPane();
        textp1.setBounds(110, 222, 570, 450);
        textp1.setBackground(Color.DARK_GRAY);
        gtapage1.add(textp1);
JTextArea textpage1 = new JTextArea();
        textpage1.setBackground(Color.WHITE);
        textpage1.setEditable(false);
        textpage1.setWrapStyleWord(true);
        textpage1.setLineWrap(true);
        try{
            FileInputStream fstream = new FileInputStream("D:\\Facultate\\anul 2\\Java Workspace\\Encyclopedia\\src\\text\\gta\\gtaintro.txt");
            DataInputStream in = new DataInputStream(fstream);
            Reader reader = new InputStreamReader(in);
            textpage1.read(reader, fstream);
        }catch(Exception e){System.err.println("Error: " + e.getMessage());}
        textp1.setViewportView(textpage1);

我想要一个按钮/字段,要输入一个单词,按 enter 并在我的 textpage1 中突出显示该单词。

【问题讨论】:

  • 我有点需要指导,一个起点。我完全不知道该怎么做。
  • 将您的问题分解为多个部分。你能突出显示一个硬编码的单词吗?当它起作用时,您可以以编程方式更改突出显示的内容吗?当它起作用时,你能从用户那里得到输入吗?如果您在某个特定步骤上遇到困难,请发布SSCCE,我们将从那里开始。

标签: java search search-engine


【解决方案1】:

您可以使用 String 的内置方法。例如

String str = "Here I am";
int i = str.indexOf("am"); //i is 7

然后您将通过获取起始索引和字符串的长度来突出显示特定区域。 i 是 7,因为在我们要查找的字符串的第一个字母之前有 7 个字符。

注意:indexOf 区分大小写。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-07
    • 1970-01-01
    • 1970-01-01
    • 2020-08-03
    • 2017-01-03
    • 1970-01-01
    • 2022-12-22
    相关资源
    最近更新 更多