gpt4 book ai didi

java - 如何使文本 Pane 接受粘贴但阻止输入

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

我的目标是:有一个文本 Pane ,用户只能在其中粘贴文本(操作系统不是按钮!!!)并且无法在 Pane 中输入

因为:不能有提交按钮(这是必须的要求 - 我知道这不合逻辑)

粘贴后:用户无法编辑文本 Pane ,并且程序将在特定字符处更改背景。

按下“清除归档”按钮后 - 程序清除 Pane 并返回到初始状态

我的问题:如何使文本 Pane 接受粘贴但阻止输入

到目前为止,我只使用文本 Pane 本身制作了 JPanel,所有控件都将位于不同的 JPanel 中

public class textPanel extends JPanel{

private JTextPane text;

public textPanel ()
{
setLayout(new BorderLayout());
text = new JTextPane(); //12,81
text.setBorder(BorderFactory.createLoweredBevelBorder());
add(text,BorderLayout.CENTER);

StyledDocument doc = text.getStyledDocument();


setBackground(Color.LIGHT_GRAY);
setPreferredSize(new Dimension(1000, 210));




}

感谢帮助

最佳答案

重写你的public void Paste()方法。默认情况下,您的 JTextPane 不可编辑 (setEditable(false))。

JTextComponent 中的 paste() 方法的源代码是

public void paste() {
if (isEditable() && isEnabled()) {
invokeAction("paste", TransferHandler.getPasteAction());
}
}

因此,您只需将其设置为可编辑,调用 super.paste(),并在 super 调用后设置 editable=false 即可。

关于java - 如何使文本 Pane 接受粘贴但阻止输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23181943/

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