Java 如何阅读文档列表中的最后一个单词或最后一行

Java 如何阅读文档列表中的最后一个单词或最后一行,java,swing,javax.swing.text,Java,Swing,Javax.swing.text,我为JEditorPane实现DocumentListener(需要方法insertUpdate(DocumentEvent e)的帮助)。如何阅读最后一个单词或最后一行(行用“\n”分隔,单词用“”分隔) 要获取JEditorPane中的最后一行,请在编辑器中的\n上拆分文本,如下所示: String text = editor.getText(); String[] lines = text.split("\n"); String lastLine = lines[lines.length-

我为JEditorPane实现DocumentListener(需要方法insertUpdate(DocumentEvent e)的帮助)。如何阅读最后一个单词或最后一行(行用“\n”分隔,单词用“”分隔)

要获取JEditorPane中的最后一行,请在编辑器中的
\n
上拆分文本,如下所示:

String text = editor.getText();
String[] lines = text.split("\n");
String lastLine = lines[lines.length-1];
System.out.println("Last line: " + lastLine);

同样,要获取最后一个单词,请在空格中拆分最后一行。

要获取JEditorPane中的最后一行,请在编辑器中的
\n
中拆分文本,如下所示:

String text = editor.getText();
String[] lines = text.split("\n");
String lastLine = lines[lines.length-1];
System.out.println("Last line: " + lastLine);

类似地,要获得最后一个单词,请在空格中拆分最后一行。

实用程序类可用于格式化内容,例如html

public static final int getWordStart(JTextComponent c, int offs) throws BadLocationException 
public static final int getWordEnd(JTextComponent c, int offs) throws BadLocationException 

Utilities类可用于格式化内容,例如html

public static final int getWordStart(JTextComponent c, int offs) throws BadLocationException 
public static final int getWordEnd(JTextComponent c, int offs) throws BadLocationException 

这不是一个非常有效的解决方案,尤其是对于大型文件。您应该利用文档结构,因为文本已经被解析为行。这不是一个非常有效的解决方案,尤其是对于大型文件。您应该利用Docuement结构,因为文本已经被解析为第+1行,这是适用于任何大小文件的更好的解决方案。您只需要知道document.getLength(),就可以得到最后一个单词的偏移量。然后使用document.getText(…)方法获取单词。如果需要最后一行,可以使用getLineStart/End方法获得偏移量。+1,这是一个更好的解决方案,适用于任何大小的文件。您只需要知道document.getLength(),就可以得到最后一个单词的偏移量。然后使用document.getText(…)方法获取单词。如果需要最后一行,可以使用getLineStart/End方法来获取偏移量。我不知道为什么要使用JEditorPane。JeditorPane用于显示HTML。HTML不使用线条的概念。您只需添加文本,HTML将在适当的时候包装文本。如果要强制换行,请使用
标记。我认为您应该使用JTextArea或JTextPane来处理常规文本。我不确定您为什么要使用JEditorPane。JeditorPane用于显示HTML。HTML不使用线条的概念。您只需添加文本,HTML将在适当的时候包装文本。如果要强制换行,请使用
标记。我认为您应该使用JTextArea或JTextPane来处理常规文本。