以下这段是添加图片的按钮的代码。
我是参考别人的代码写成的,addstyle那段没有改过。
在别人的程序上面好好的,可是我这里就是插入了以后不显示图片。
请教下应该怎么修改啊private JButton getAddPicButton() {
if (addPicButton == null) {
addPicButton = new JButton();
addPicButton.setPreferredSize(new Dimension(24, 24));
addPicButton.setText("");
addPicButton.setToolTipText("添加图片");
addPicButton.setIcon(new ImageIcon("E:/my doc/work/icon/pic.png"));
addPicButton.setSize(new Dimension(24, 24));
addPicButton.addActionListener(new ActionListener(){ @Override
public void actionPerformed(ActionEvent e) {
File selectedFile = null;
JFileChooser chooser = new JFileChooser();
//文件选择器只能选择图片
final ExtensionFileFilter filter = new ExtensionFileFilter();
filter.addExtension("jpg");
filter.addExtension("jpeg");
filter.addExtension("gif");
filter.addExtension("bmp");
filter.setDescription("Image files");
chooser.setFileFilter(filter);
chooser.setAccessory(new ImagePreviewer(chooser));
chooser.setCurrentDirectory(new File("."));
//accetp all image files
//show the chooser dialog
chooser.showOpenDialog(jTextPane);
selectedFile = chooser.getSelectedFile();
//添加图片到jTextPane修改Doc
String img = selectedFile.getPath();
if(img == null || (img != null && img.trim().length() == 0))
return ;
Style s1 = getJTextPane().addStyle("img src='" + img + "'", null);
//测试
JOptionPane.showMessageDialog(getJTextPane(),img);
//文件名添加到队列
contentpic.add(img);
try { getJTextPane().setParagraphAttributes(s1, false); }
catch(Exception ex) {
getJTextPane().setText(getJTextPane().getText());
}
}
});
}
return addPicButton;
}
打算编辑完后生成html的
JTextPane jp = new JTextPane();
jp.setBounds(20, 20, 300, 100);
HTMLEditorKit kit = new HTMLEditorKit();
kit.install(jp);
this.getContentPane().add(jp);
String path = "icons/cut.gif";
try {
kit.insertHTML((HTMLDocument) jp.getDocument(), jp.getCaretPosition(),
"<img src=" + path + "/>", 0, 0, HTML.Tag.IMG);
} catch (Exception e) {
JOptionPane.showMessageDialog(InsertHTML.this,
"image not loaded",
"ERROR",
JOptionPane.ERROR_MESSAGE);
}
}