import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
class Testdemo
extends JFrame
{
private JTabbedPane tabbedPane;
private JPanel panel1;
private JPanel panel2;
private JPanel panel3;
JTable mappingTable;
JScrollPane pane;
public Testdemo()
{
// NOTE: to reduce the amount of code in this example, it uses
// panels with a NULL layout. This is NOT suitable for
// production code since it may not display correctly for
// a look-and-feel.
setTitle( "Tabbed Pane Application" );
setSize( 300, 200 );
setBackground( Color.gray );
JPanel topPanel = new JPanel();
topPanel.setLayout( new BorderLayout() );
getContentPane().add( topPanel );
// Create the tab pages
createPage1();
createPage2();
createPage3();
// Create a tabbed pane
tabbedPane = new JTabbedPane();
tabbedPane.addTab( "Page 1", panel1 );
tabbedPane.addTab( "Page 2", panel2 );
tabbedPane.addTab( "Page 3", panel3 );
topPanel.add( tabbedPane, BorderLayout.CENTER );
}
public void createPage1()
{
panel1 = new JPanel();
panel1.setLayout( new BorderLayout() );
Object values[] = { "SNo","Source system", "Source Table","Source field Name","Data Type","Field Length","NaturalIdentifier","Target System","Target Table","Field Name","Data Type","Length","Primary Key","Field Description","Data Mapping Rule","Transformation Rules","ETL Load rules(one per table)","Comment","Status" };
TableModel model = new DefaultTableModel(values, 1010){
public boolean isCellEditable(int row,int column)
{
if(column==0||column==5||column==11)
return false;
return true;
}
};
mappingTable = new javax.swing.JTable (1010,19) {
public Component prepareRenderer(TableCellRenderer renderer, int row, int column){
Component returnComp = super.prepareRenderer(renderer, row, column);
Color alternateColor = new Color(252,242,206);
Color whiteColor = Color.WHITE;
if (!returnComp.getBackground().equals(getSelectionBackground())){
Color bg = (row % 2 == 0 ? alternateColor : whiteColor);
returnComp .setBackground(bg);
bg = null;
}
return returnComp;
}
public boolean isCellEditable(int row,int column)
{
for(int i=0;i<mappingTable.getRowCount();i++)
{
for(int j=0;j<mappingTable.getColumnCount();j++)
{
if(mappingTable.getValueAt(i,j)!=null&&mappingTable.getValueAt(i,j).toString().length()>=1)
{
for(int k=0;k<=i;k++)
{
mappingTable.setValueAt((k+1), k, 0);
}
}
}
}
if(column==0)
return false;
return true;
}
};
mappingTable.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
pane = new JScrollPane(mappingTable);
JLabel l=new JLabel("KKKKK");
panel1.add(pane,BorderLayout.CENTER);
}
public void createPage2()
{
panel2 = new JPanel();
panel2.setLayout( new BorderLayout() );
panel2.add( new JButton( "North" ), BorderLayout.NORTH );
panel2.add( new JButton( "South" ), BorderLayout.SOUTH );
panel2.add( new JButton( "East" ), BorderLayout.EAST );
panel2.add( new JButton( "West" ), BorderLayout.WEST );
panel2.add( new JButton( "Center" ), BorderLayout.CENTER );
}
public void createPage3()
{
panel3 = new JPanel();
panel3.setLayout( new GridLayout( 3, 2 ) );
panel3.add( new JLabel( "Field 1:" ) );
panel3.add( new TextArea() );
panel3.add( new JLabel( "Field 2:" ) );
panel3.add( new TextArea() );
panel3.add( new JLabel( "Field 3:" ) );
panel3.add( new TextArea() );
}
// Main method to get things started
public static void main( String args[] )
{
// Create an instance of the test application
Testdemo mainFrame = new Testdemo();
mainFrame.setVisible( true );
}
}