以下这段是添加图片的按钮的代码。
我是参考别人的代码写成的,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;
}

解决方案 »

  1.   

    忘记说了 我用的是HTMLEditorKit    
    打算编辑完后生成html的
      

  2.   

    public   void   textInertHTML(){  
                      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);  
                      }  
       
              }   
      

  3.   

    补充下。图片的path测试过,正确的。这才奇怪