2013-05-05 90 views
0
public class ERPFrame extends JFrame { 
    private JPanel contentPane; 
    private JTable table; 
    private JTextField textField; 
    private JTextField textField_1; 
    private JTextField textField_2; 
    private JTextField textField_3; 
    Controller controller; 
    DefaultTableModel dfm; 

    public static void main(String[] args) { 
     EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       try { 
        ERPFrame frame = new ERPFrame(); 
        frame.setVisible(true); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
    } 

    public ERPFrame() { 

     controller = new Controller(); 
     dfm = new DefaultTableModel(); 

     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setBounds(100, 100, 1123, 730); 
     contentPane = new JPanel(); 
     contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 
     setContentPane(contentPane); 
     contentPane.setLayout(null); 


     table = new JTable(dfm); 
     JScrollPane scrollPane = new JScrollPane(table); 


     table.setBounds(343, 30, 734, 638); 

     contentPane.add(table, scrollPane); 
    } //end of constructor 
} 

我想为我的JTable获得JScrollPane,但没有成功。任何人都知道我做错了什么?我尝试过所有的事情,并且像3个小时一样寻找问题。怎么可能很难添加一个滚动窗格?JScrollPane for JTable

+0

请参阅[*将表添加到容器*](http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#show) – trashgod 2013-05-05 23:06:50

回答

1

JTable已经是JScrollPaneViewPortView组件。更换

contentPane.add(table, scrollPane); 

contentPane.add(scrollPane); 

另外,不要使用绝对定位(null布局) - 使用布局管理器。 如果没有布局管理器,JScrollPane的缺省大小以及其他每个组件都是0 x 0,并且不会出现。这迫使您指定容器上每个组件的大小和位置。