2017-05-08 108 views
1

我使用JTable中创建的表较小,但如你在图片中看到波纹管看起来比面板更小的...JTable中出现

enter image description here

代码

  tableModel1 = new DefaultTableModel(data1,column_header1); 

      table_1 = new JTable(tableModel1); 
      JScrollPane scrollPane1 = new JScrollPane(table_1); 


      scrollPane1.setBounds(1, 1, 1050, 500); 
      panel_3.add(scrollPane1); 

+2

'panel_3'上的布局管理器是什么?它应该是'BorderLayout',你应该在'BorderLayout.CENTER'处添加滚动窗格。 –

回答

-1

我假设你的jtable内容适合jpanel。尝试在jtable中添加更多行,以便可能出现垂直滚动条。技术上垂直/水平滚动条出现在必要的情况。在你的情况下,没有垂直滚动条和可能性,因为你只有4行没有horizo​​ndal也因为你的列宽度适合于面板宽度...添加属性在你的代码和验证..

scrollpane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); 
2

我们真的需要知道您在“panel_3”上使用的布局管理器。放置JScrollPane的最佳位置是在BorderLayout的CENTER位置。这是因为CENTER的位置获得了所有剩余的空间。如果您调整窗口大小,它将根据需要增大/缩小。

在panel_3上将您的布局设置为BorderLayout。然后将您的JScrollPane添加到CENTER位置:

panel_3.setLayout(new BorderLayout()); 
panel_3.add(scrollPane1, BorderLayout.CENTER); 

然后将该调用移除到setBounds()。