A ver si con esto te haces un poco a la idea. Este codigo no te va a funcionar,, pero si te va a valer para ver que elementos tienes que poner.
Es de un proyecto mio que usa algo parecido a lo que quieres.
private void initForm() {
//this-----------------
this.setVisible(true);
this.setBounds (100,100,650,400); //Temporal
this.setMaximizable(true);
this.setIconifiable(true);
this.setClosable(true);
this.setFrameIcon(iMdiMain.gv.icons.getDataImage ( "Users16" ));
this.setTitle("Usuarios");
this.setName ("users");
//-----------------this
//Pop Up----------------
popUsers = new cctPopUpMenu ();
UsersPopListener = new PopupListener(popUsers);
//----------------Pop Up
//Toolbar---------------
toolbar = new cctJToolBar(iMdiMain.gv.icons, true);
toolbar.setMinimumSize ( new java.awt.Dimension (50, 50));
toolbar.setPreferredSize ( new java.awt.Dimension(50, this.getHeight()));
toolbar.setOrientation (toolbar.VERTICAL);
toolbar.setFloatable (false);
this.getContentPane().add (toolbar, java.awt.BorderLayout.EAST);
//---------------Toolbar
//TreeView---------------
tvwUsers = new cctJTree();
tvwUsers.setMinimumSize (new java.awt.Dimension (100,100));
tvwUsers.setPreferredSize (new java.awt.Dimension (130,150));
tvwUsers.setVisible(true);
tvwUsers.setEIcono(3);
tvwUsers.addTreeSelectionListener(tvwUsersSelectionListener);
//---------------TreeView
//cctJTable---------------
lvwUsers = new cctJTable(iMdiMain.gv);
lvwUsers.setVisible(true);
lvwUsers.setEIcono(3);
lvwUsers.setDefaultIcon ("NotCodified");
lvwUsers.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
delPopup ();
if(e.getClickCount() > 1)
listViewDoubleClick(e);
}
public void mousePressed(java.awt.event.MouseEvent e) {
delPopup ();
}
});
//Pop Up
lvwUsers.addMouseListener (UsersPopListener);
//---------------cctJTable
//Scrolls------------------
//scrtv.setViewportView (tvwUsers);
scrtv = new JScrollPane (tvwUsers);
//---
scrlv = new JScrollPane (lvwUsers);
//------------------Scrolls
//split pane
split.setDividerLocation(150);
split.setLeftComponent(scrtv);
split.setRightComponent(scrlv);
//Panel con split tree list
pnl1.setLayout( new java.awt.BorderLayout() );
pnl1.setVisible(true);
pnl1.add (split , java.awt.BorderLayout.CENTER);
this.getContentPane().add (pnl1, java.awt.BorderLayout.CENTER);
} //fin initForm
suerte