gpt4 book ai didi

java - 如何从 JTextPane 中获取选择

转载 作者:行者123 更新时间:2023-12-02 14:45:37 25 4
gpt4 key购买 nike

我想找出 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com