例: appendTable method

  1. 次のエージェントは、リッチテキストアイテム内に基本表を作成します。
    import lotus.domino.*;
    
    public class JavaAgent extends AgentBase {
    
      public void NotesMain() {
    
        try {
          Session session = getSession();
          AgentContext agentContext = session.getAgentContext();
    
          // (Your code goes here) 
          Database db = agentContext.getCurrentDatabase();
          Document doc = db.createDocument();
          doc.appendItemValue("Form", "MainTopic");
          doc.appendItemValue("Subject", "Basic table");
          RichTextItem rti = doc.createRichTextItem("Body");
          rti.appendText("Paragraph of text.");
          rti.addNewLine(2);
          // Create table with 4 rows and 3 columns
          rti.appendTable(4, 3);
          doc.save(true, true);
    
        } catch(Exception e) {
          e.printStackTrace();
        }
      }
    }
  2. 次のエージェントは、リッチテキストアイテム内にタブで区切られた表を作成します。
    import lotus.domino.*;
    import java.util.Vector;
    
    public class JavaAgent extends AgentBase {
    
      public void NotesMain() {
    
        try {
          Session session = getSession();
          AgentContext agentContext = session.getAgentContext();
    
          // (Your code goes here) 
          Database db = agentContext.getCurrentDatabase();
          Document doc = db.createDocument();
          doc.appendItemValue("Form", "MainTopic");
          doc.appendItemValue("Subject", "Tabbed table");
          RichTextItem rti = doc.createRichTextItem("Body");
          rti.appendText("Paragraph of text.");
          rti.addNewLine(2);
          // Create tabbed table with 4 rows and 3 columns
          Vector tabs = new Vector();
          for (int i = 0; i < 4; i++) {
            String element = "Row " + (i + 1);
            tabs.addElement(element);
          }
          rti.appendTable(4, 3, tabs);
          doc.save(true, true);
    
        } catch(Exception e) {
          e.printStackTrace();
        }
      }
  3. 次のエージェントは、基本表を作成してデータを入力します。
    import lotus.domino.*;
    
    public class JavaAgent extends AgentBase {
    
      public void NotesMain() {
    
        try {
          Session session = getSession();
          AgentContext agentContext = session.getAgentContext();
    
          // (Your code goes here) 
          Database db = agentContext.getCurrentDatabase();
          Document doc = db.createDocument();
          doc.appendItemValue("Form", "MainTopic");
          doc.appendItemValue("Subject", "Basic table populated");
          RichTextItem rti = doc.createRichTextItem("Body");
          rti.appendText("Paragraph of text.");
          rti.addNewLine(2);
          // Create table with 4 rows and 3 columns
          rti.appendTable(4, 3);
          // Populate table
          RichTextNavigator rtnav = rti.createNavigator();
          rtnav.findFirstElement(RichTextItem.RTELEM_TYPE_TABLECELL);
          for (int irow = 1; irow < 5; irow++) {
            for (int icol = 1; icol < 4; icol++) {
              rti.beginInsert(rtnav);
              rti.appendText("Row " + irow + ", column " + icol);
              rti.endInsert();
              rtnav.findNextElement(RichTextItem.RTELEM_TYPE_TABLECELL);
            }
          }
          doc.save(true, true);
    
        } catch(Exception e) {
          e.printStackTrace();
        }
      }
    }
  4. 次のエージェントは、左余白をデフォルトの 1 インチから 1.5 インチに変更した基本的な自動幅表を作成し、データを入力します。
    import lotus.domino.*;
    
    public class JavaAgent extends AgentBase {
    
      public void NotesMain() {
    
        try {
          Session session = getSession();
          AgentContext agentContext = session.getAgentContext();
    
          // (Your code goes here) 
          Database db = agentContext.getCurrentDatabase();
          Document doc = db.createDocument();
          doc.appendItemValue("Form", "MainTopic");
          doc.appendItemValue("Subject",
            "Basic table with 1.5 left margin");
          RichTextItem rti = doc.createRichTextItem("Body");
          rti.appendText("Paragraph of text.");
          rti.addNewLine(2);
          // Create table with 4 rows and 3 columns
          rti.appendTable(4, 3, null,
            (int)(RichTextParagraphStyle.RULER_ONE_INCH * 1.5), null);
          // Populate table
          RichTextNavigator rtnav = rti.createNavigator();
          rtnav.findFirstElement(RichTextItem.RTELEM_TYPE_TABLECELL);
          for (int irow = 1; irow < 5; irow++) {
            for (int icol = 1; icol < 4; icol++) {
              rti.beginInsert(rtnav);
              rti.appendText("Row " + irow + ", column " + icol);
              rti.endInsert();
              rtnav.findNextElement(RichTextItem.RTELEM_TYPE_TABLECELL);
            }
          }
          doc.save(true, true);
    
        } catch(Exception e) {
          e.printStackTrace();
        }
      }
    }
  5. 次のエージェントは、基本表を作成してデータを入力します。各列の幅は 1.5 インチで固定します。表の左余白は 1.5 インチです。
    import lotus.domino.*;
    import java.util.Vector;
    
    public class JavaAgent extends AgentBase {
    
      public void NotesMain() {
    
        try {
          Session session = getSession();
          AgentContext agentContext = session.getAgentContext();
    
          // (Your code goes here) 
          Database db = agentContext.getCurrentDatabase();
          Document doc = db.createDocument();
          doc.appendItemValue("Form", "MainTopic");
          doc.appendItemValue("Subject",
            "Basic table with 1.5 left margin");
          RichTextItem rti = doc.createRichTextItem("Body");
          rti.appendText("Paragraph of text.");
          rti.addNewLine(2);
          // Create table with 4 rows and 3 columns
          RichTextParagraphStyle rtps =
            session.createRichTextParagraphStyle();
          rtps.setLeftMargin(0);
          rtps.setFirstLineLeftMargin(0);
          rtps.setRightMargin(
            (int)(RichTextParagraphStyle.RULER_ONE_INCH * 1.5));
          Vector styles = new Vector();
          for (int i = 0; i < 3; i++) {
            styles.addElement(rtps);
          }
          rti.appendTable(4, 3, null,
            (int)(RichTextParagraphStyle.RULER_ONE_INCH * 1.5), styles);
          // Populate table
          RichTextNavigator rtnav = rti.createNavigator();
          rtnav.findFirstElement(RichTextItem.RTELEM_TYPE_TABLECELL);
          for (int irow = 1; irow < 5; irow++) {
            for (int icol = 1; icol < 4; icol++) {
              rti.beginInsert(rtnav);
              rti.appendText("Row " + irow + ", column " + icol);
              rti.endInsert();
              rtnav.findNextElement(RichTextItem.RTELEM_TYPE_TABLECELL);
            }
          }
          doc.save(true, true);
    
        } catch(Exception e) {
          e.printStackTrace();
        }
      }
    }