depois de olhar a documentação, alguns posts, etc… consegui fazer o que eu queria… 
o código do seu exemplo me ajudou…mas ao deixar a janela menor que tabbed pane, este ficava bem pequeno (se comprimia um montão).
então a solução era deixar o tabbedPane em um painel sem layout.
aqui vai o código de exemplo.
[code]import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class MyFrame extends JFrame{
private static final long serialVersionUID = 1L;
private JPanel panel1=null;
private JPanel panel2=null;
private JPanel tab1Panel=null;
private JPanel tab2Panel=null;
private JTabbedPane tabbedPane=null;
private JButton okBtn=null;
private JButton cancelBtn=null;
private JTable table=null;
private JScrollPane scrollPane=null;
private DefaultTableModel tableModel=null;
private final String [] columnNames = {"Add Buttons", "Name", "Geometry", "Painted"};
private Object datas[][]={
{new Boolean(true),"Joao","Rectangle",new Boolean(true)},
{new Boolean(true),"Maria","Hexagon",new Boolean(true)},
{new Boolean(true),"André","Circle",new Boolean(true)},
{new Boolean(true),"Ze","Oval",new Boolean(true)}
};
public MyFrame(){
this.getContentPane().setLayout(new BorderLayout());
this.panel1 = new JPanel();
this.panel2 = new JPanel();
this.tab1Panel = new JPanel();
this.tab2Panel = new JPanel();
this.tabbedPane = new JTabbedPane();
this.okBtn = new JButton("OK");
this.cancelBtn = new JButton("Cancel");
this.panel1.setLayout(null);
this.panel2.setLayout(new FlowLayout());
this.tableModel = new DefaultTableModel(this.datas,this.columnNames);
this.table = new JTable(this.tableModel);
this.scrollPane = new JScrollPane(this.table);
this.tab1Panel.add(this.scrollPane);
this.tabbedPane.addTab("Tab1", this.tab1Panel);
this.tabbedPane.addTab("Tab2", this.tab2Panel);
this.tabbedPane.setBounds(0, 0, 470, 200);
this.panel1.add(this.tabbedPane);
this.panel2.add(this.okBtn);
this.panel2.add(this.cancelBtn);
this.add(this.panel1,BorderLayout.CENTER);
this.add(this.panel2,BorderLayout.SOUTH);
}
public static void main(String[] args) {
MyFrame frame = new MyFrame();
frame.setPreferredSize(new Dimension(600,300));
frame.pack();
frame.setVisible(true);
}
}
[/code]
não sei se é bom fazer isto… :?