表中的Java表与自动调整大小

时间:2012-07-10 11:55:17

标签: java swing jtable jpanel jscrollpane

我想制作一个可以包含小表的表,并支持调整大小。 enter image description here

我的解决方案使用包含表格的JScrollpane,而gridbaglayout包含JPanel的行,此行JPanel包含JLabels和ETable(flowlayout)。

我如何解决调整大小问题?当我调整窗口大小时,列会自动与窗口对齐。

我的代码是here

enter image description here

大表中的列未正确对齐。

2 个答案:

答案 0 :(得分:1)

  1. 我看到J(X)TreeTable或带有自定义外观的轮廓(渲染器谈论Nimbus L& F,因为布尔值没有正确使用背景)

  2. 将JComponents(从顶部)放在JPanel的顶部,并使用GridBagLayout

  3. 将JScrollPane与J(X)TreeTable或Outline放到中心区域

  4. 请使用哪种类型的TreeTable ??? (用于计算列的PreferredSize)

  5. 修改

      

    在这种情况下,用黑框替换表格。这没关系。

    JFrame已在API中实施BorderLayout,然后

    • JComponentTOP of the JFrame的所有JPanel放到单独的GridBagLayout,您可以使用JPanelNORTH area放入JFrame.add(JPanel, BorderLayout.NORHT) {1}}例如black box

    • JFrame.add(black box, BorderLayout.CENTER)放入CENTER区域,例如{{1}}

答案 1 :(得分:0)

您可以使用此

Jtable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

使用此JTable将在需要时显示水平和垂直滚动条。