1

デフォルトのルートからドキュメントのブランチのリーフ要素を作成しました。要素が作成されていることがわかりますが、要素は既存の構造のルートに追加されていませんが、デフォルトのルートとして親を指定しています。

このコードを考慮すると、

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();
       }

    }
}      
4

1 に答える 1

1

テーブルの挿入方法については、 http://java-sl.com/JEditorPaneTables.htmlを参照してください。

protected void insertTable()メソッドを参照してください。同じアプローチを使用して独自の仕様を作成し、この方法でドキュメント構造を変更します。

于 2012-12-05T05:54:23.313 に答える