I am trying to add a JPanel (lets call it cleric) with a TitledBorder and several control to a JPanel (call this one page4). If I add the controls to page4 they show up. However, if I add the controls to cleric then add cleric to page4 it nothing shows up. I don't understand why is this isn't working.
CODE
SpringLayout layout = new SpringLayout();
JPanel page4 = new JPanel(layout);
JPanel cleric = new JPanel(layout);
// code here was omitted due to irrelevance with problem
// Page 4 Items
TitledBorder clericBorder = BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.BLACK), "Clerics");
cleric.setBorder(clericBorder);
txtDomain1 = new JTextField();
txtDomain1.setPreferredSize(new Dimension(80, 20));
cleric.add(txtDomain1);
layout.putConstraint(SpringLayout.NORTH, txtDomain1, 5, SpringLayout.NORTH, cleric);
layout.putConstraint(SpringLayout.WEST, txtDomain1, 5, SpringLayout.WEST, cleric);
lblDomain1 = new JLabel(smallText("Domain Name"));
cleric.add(lblDomain1);
layout.putConstraint(SpringLayout.NORTH, lblDomain1, -3, SpringLayout.SOUTH, txtDomain1);
layout.putConstraint(SpringLayout.WEST, lblDomain1, 0, SpringLayout.WEST, txtDomain1);
txtGrantedPower1 = new JTextField();
txtGrantedPower1.setPreferredSize(new Dimension(80,20));
cleric.add(txtGrantedPower1);
layout.putConstraint(SpringLayout.NORTH, txtGrantedPower1, 5, SpringLayout.NORTH, cleric);
layout.putConstraint(SpringLayout.WEST, txtGrantedPower1, 5, SpringLayout.EAST, txtDomain1);
lblGrantedPower1 = new JLabel(smallText("Granted Power"));
cleric.add(lblGrantedPower1);
layout.putConstraint(SpringLayout.NORTH, lblGrantedPower1, -3, SpringLayout.SOUTH, txtGrantedPower1);
layout.putConstraint(SpringLayout.WEST, lblGrantedPower1, 0, SpringLayout.WEST, txtGrantedPower1);
txtDomain2 = new JTextField();
txtDomain2.setPreferredSize(new Dimension(80, 20));
cleric.add(txtDomain2);
layout.putConstraint(SpringLayout.NORTH, txtDomain2, 5, SpringLayout.SOUTH, lblDomain1);
layout.putConstraint(SpringLayout.WEST, txtDomain2, 5, SpringLayout.WEST, cleric);
lblDomain2 = new JLabel(smallText("Domain Name"));
cleric.add(lblDomain2);
layout.putConstraint(SpringLayout.NORTH, lblDomain2, -3, SpringLayout.SOUTH, txtDomain2);
layout.putConstraint(SpringLayout.WEST, lblDomain2, 0, SpringLayout.WEST, txtDomain2);
txtGrantedPower2 = new JTextField();
txtGrantedPower2.setPreferredSize(new Dimension(80,20));
cleric.add(txtGrantedPower2);
layout.putConstraint(SpringLayout.NORTH, txtGrantedPower2, 5, SpringLayout.SOUTH, lblDomain1);
layout.putConstraint(SpringLayout.WEST, txtGrantedPower2, 5, SpringLayout.EAST, txtDomain2);
lblGrantedPower2 = new JLabel(smallText("Granted Power"));
cleric.add(lblGrantedPower2);
layout.putConstraint(SpringLayout.NORTH, lblGrantedPower2, -3, SpringLayout.SOUTH, txtGrantedPower2);
layout.putConstraint(SpringLayout.WEST, lblGrantedPower2, 0, SpringLayout.WEST, txtGrantedPower2);
cleric.setPreferredSize(new Dimension(300, 300));
cleric.setBackground(Color.BLUE); // added to see if the panel shows up or not
page4.add(cleric);
layout.putConstraint(SpringLayout.NORTH, cleric, 5, SpringLayout.NORTH, page4);
layout.putConstraint(SpringLayout.WEST, cleric, 5, SpringLayout.WEST, page4);
// Tabbed Pane
tabbedPane.addTab("Page 1", null, page1);
tabbedPane.addTab("Page 2", null, page2);
tabbedPane.addTab("Page 3", null, page3);
tabbedPane.addTab("Page 4", null, page4);
this.add(tabbedPane, BorderLayout.CENTER);