Wednesday, May 15, 2019

Display BOM Properties in Table

import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;

import javax.swing.JTable;

import javax.swing.table.DefaultTableModel;

import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import com.teamcenter.rac.aif.kernel.AIFComponentContext;
import com.teamcenter.rac.aifrcp.AIFUtility;
import com.teamcenter.rac.kernel.TCComponent;
import com.teamcenter.rac.kernel.TCException;
import com.teamcenter.rac.kernel.TCProperty;
import com.teamcenter.rac.kernel.TCSession;

public class SampleHandler extends AbstractHandler {
DefaultTableModel model=null;
JTable table=null;

public void DisplayProperties() throws TCException
{
JFrame frame=new JFrame();
TCComponent tcc=(TCComponent) AIFUtility.getCurrentApplication().getTargetComponent();
TCSession session = tcc.getSession();
session.getUser();
AIFComponentContext[] children=tcc.getChildren();
frame.setTitle("BOM PROPERTIES");

String[] columnNames={"BOM Line","ItemID","ItemName","RevisionId","ItemRevisionSate","ItemType"};

model=new DefaultTableModel(columnNames, children.length);
table=new JTable(model);
table.setBounds(20, 30, 200, 300);


TCProperty BOMLine;
    TCProperty ItemId;
    TCProperty ItemName;
    TCProperty RevisionId;
    TCProperty ItemRevisionState;
    TCProperty ItemType;
 
    for (int i = 0; i < children.length; i++)
    {
TCComponent tc=(TCComponent) children[i].getComponent();
BOMLine=tc.getTCProperty("bl_indented_title");
ItemId=tc.getTCProperty("bl_item_item_id");
ItemName=tc.getTCProperty("bl_item_object_name");
RevisionId=tc.getTCProperty("bl_rev_fnd0RevisionId");
ItemRevisionState=tc.getTCProperty("bl_rev_release_status_list");
ItemType=tc.getTCProperty("bl_item_object_type");

table.setValueAt(BOMLine, i,0 );

table.setValueAt(ItemId, i,1 );

table.setValueAt(ItemName, i,2 );

table.setValueAt(RevisionId, i,3 );

table.setValueAt(ItemRevisionState, i,4 );

table.setValueAt(ItemType, i,5 );
}

    JScrollPane scrollPane = new JScrollPane(table);
    scrollPane.setHorizontalScrollBarPolicy
                   (ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);

    scrollPane.setVerticalScrollBarPolicy
                  (ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);

                frame.add(scrollPane, BorderLayout.CENTER);
frame.setSize(600,600);
frame.setVisible(true);
}
}

No comments:

Post a Comment