如何为现有文档结构创建文档的叶元素

时间:2012-12-05 04:57:51

标签: java swing

我已经从默认根创建了文档分支的叶元素。我可以看到元素已创建,但元素未添加到现有结构的根目录中,但我已将父元素作为默认根目录。

考虑此代码,

public class MyDoc extends DefaultStyledDocument  { 

//private static final long serialVersionUID = 1L;  

/**
 * 
 */
  public Element createBranchElement(Element parent,AttributeSet a) 
  {
      return super.createBranchElement(parent, a);
  } 

  protected AbstractElement createDefaultRoot(){
      return super.createDefaultRoot();
  } 

  protected Element createLeafElement(Element parent,AttributeSet a, String arg) throws BadLocationException 
  {
      return super.createLeafElement(parent, null, startOffset(arg),startOffset(arg)+1);
  } 

  protected void insertUpdate(AbstractDocument.DefaultDocumentEvent e, AttributeSet attr)
  {         
       Element root = getDefaultRootElement();        
       Element branchroot = new BranchElement(root, null);
       branchroot = createBranchElement(root,null);
       String pName = branchroot.getName();             
       Element leafElement = new LeafElement(branchroot, null, 0,0);
       try {
           leafElement = createLeafElement(branchroot,null,"p");
           //leafElement for a String  "p" should be created  
       } catch (BadLocationException e1) {
           // TODO Auto-generated catch block
               e1.printStackTrace();
       }

    }
}      

1 个答案:

答案 0 :(得分:1)

请参阅http://java-sl.com/JEditorPaneTables.html如何插入表格。

请参阅protected void insertTable()方法。使用相同的方法创建自己的规范并以这种方式更改文档结构。