gpt4 book ai didi

java - 如何从 JTextPane 中删除图片?

转载 作者:行者123 更新时间:2023-12-01 14:47:30 25 4
gpt4 key购买 nike

我有一个代码,可以让用户将图片插入到他的文本文档中。我确实有一个 JtextPane,用户可以在其中编写一些文本并插入图片。但是,如果图片已经插入,则在不关闭整个程序的情况下不可能删除它。用户如何通过按退格键删除图片?

我现在的代码:

    @Override
public void actionPerformed(ActionEvent arg0) {
JFileChooser fileChooser = new JFileChooser();
int option = fileChooser.showOpenDialog(null);
File file = fileChooser.getSelectedFile();

if (option == JFileChooser.APPROVE_OPTION){

try {
BufferedImage image = ImageIO.read(file);
image = Scalr.resize(image, 150);
document = (StyledDocument)textPane.getDocument();
javax.swing.text.Style style = document.addStyle("StyleName", null);
StyleConstants.setIcon(style, new ImageIcon(image));
document.insertString(document.getLength(), "ignored text", style);
}

catch (Exception e){
e.printStackTrace();
}

}

if (option == JFileChooser.CANCEL_OPTION){


fileChooser.setVisible(false);

}

最佳答案

看看方法removeStyle(String stylename) link to javadoc

在夏季,您需要做的就是向上述方法提供您希望从文档中删除的样式的名称。因此,在您的情况下,这将是(根据您的示例)

textPane.removeStyle("StyleName");

现在,要使用退格键将其删除,您将需要跟踪插入的插入符位置图像(或者更确切地说,包含图像的样式),以及相应的样式名称的名称。然后,按退格键,不断检查是否有需要删除的内容,如果有,则使用removeStyle("relevantStyleName")删除

关于java - 如何从 JTextPane 中删除图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15273996/

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