java - 如何从 JTextPane 中获取选择

标签 java swing selection jtextpane

我想找出 JTextPanel 文本的哪一部分被选中。尝试调用 JTextPane.getSelectionStart()JTextPane.getSelectionEnd(),但它们始终返回等于当前插入符位置的相同值。 我的问题是什么?

我将感谢任何获得当前选择的代码示例。

最佳答案

看看JTextComponent#getSelectedText() 。您只需在 JTextPane 的实例上调用此方法,它将返回 JTextPane 的选定文本。做了一个小例子:

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class JavaApplication101 {

    private JTextPane jTextPane;
    private JButton btnGetSelectedText;

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                new JavaApplication101().createAndShowUI();
            }
        });
    }

    private void createAndShowUI() {

        JFrame frame = new JFrame("Test");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        initComponents(frame.getContentPane());
        frame.pack();
        frame.setVisible(true);
    }

    private void initComponents(Container contentPane) {
        jTextPane = new JTextPane();
        btnGetSelectedText = new JButton("Get selected text");

        btnGetSelectedText.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(null, jTextPane.getSelectedText());
            }
        });
        contentPane.add(jTextPane, BorderLayout.NORTH);
        contentPane.add(btnGetSelectedText, BorderLayout.SOUTH);
    }
}

关于java - 如何从 JTextPane 中获取选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12492817/

相关文章:

java - JFrame FileChooser 获取文件目录

javascript - 在修改 innerHTML 后保存/恢复对 contentEditable 的选择

Java AES 加密得到不同的结果

java - 仅在接收某些事件时使用 spring 从 kafka 主题消费

java - 我如何读取 java servlet 中的 html anchor ?

dom - 在 chrome 开发工具/firebug 中保留 DOM 元素突出显示

机器人 : How to assign default theme color to TableRow

java - Vaadin - 动态布局背景

Java KeyListener 不起作用

java - 检索从组中选择的 Swing 单选按钮