要在Java的JTextArea中实现文本搜索,可以使用以下方法:
以下是一个简单的示例代码实现文本搜索功能:
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class TextSearchDemo {
public static void main(String[] args) {
JFrame frame = new JFrame("Text Search Demo");
JTextArea textArea = new JTextArea(10, 30);
JTextField searchField = new JTextField(10);
JButton searchButton = new JButton("Search");
searchButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String searchText = searchField.getText();
String text = textArea.getText();
int index = text.indexOf(searchText);
if(index != -1) {
textArea.setCaretPosition(index);
textArea.setSelectionStart(index);
textArea.setSelectionEnd(index + searchText.length());
} else {
JOptionPane.showMessageDialog(frame, "Text not found!");
}
}
});
JPanel panel = new JPanel();
panel.add(searchField);
panel.add(searchButton);
frame.add(textArea);
frame.add(panel, BorderLayout.SOUTH);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
这个示例代码创建了一个带有文本搜索功能的简单界面,用户可以在 JTextArea 中输入文本并在搜索框中输入关键字进行搜索。搜索按钮点击后,会在 JTextArea 中搜索关键字并将焦点设置到关键字所在的位置。