根据其中的组件调整JPanel的大小

时间:2012-07-24 08:47:35

标签: java swing

我在JPanel中有一个JTable。表中的最大行数为10.根据表行,我需要调整JPanel的大小。我不应该得到任何scrollPane。

所以,简单来说:根据表格大小,我应该调整面板的大小。这可能吗?

2 个答案:

答案 0 :(得分:1)

我相信jtable.getPreferredSize()应该返回一个合理的结果。如果tat失败,您可以使用表格字体指标和tabes默认行高来估计大小。

答案 1 :(得分:1)

1.在这种情况下GridBagLayout LayoutManagers最适合JTable JPanel JScrollPane而不使用JTable

默认情况下,

2.notice vertical direction不支持import java.awt.BorderLayout; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTable; public class TableAndGbc { public static void main(String args[]) throws Exception { JPanel panel = new JPanel(new GridBagLayout()); final JTable table = new JTable(10, 10); GridBagConstraints gbc = new GridBagConstraints(); gbc.weightx = 1.0; gbc.fill = GridBagConstraints.HORIZONTAL; panel.add(table, gbc); JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(panel, BorderLayout.CENTER); frame.pack(); frame.setVisible(true); } } 上的行调整大小

{{1}}