在JPane中安装JTable并垂直滚动

时间:2013-12-07 01:51:02

标签: java swing jtable panel jscrollpane

我有一个这样的小组:

    panel2.setBackground(Color.YELLOW);
    panel2.setSize(185,400);
    panel2.setLocation(5,150);
    panel2.add(table1,sp1);

并且其中有一个JTable:

    Object[][] data = {{000,00},{000,00},{000,00},{000,00},{000,00},{000,00},
    {000,00},{000,00},{000,00},{000,00},{000,00},{000,00},{000,00},{000,00},
    {000,00},{000,00},{000,00},{000,00},{000,00},{000,00},{000,00},{000,00},
    {000,00},{000,00},{000,00},{000,00},{000,00},{000,00},{000,00},{000,00},
    {000,00},{000,00},{000,00},{000,00},{000,00},{000,00},{000,00},{000,00},
    {000,00},{000,00},};

    String[] columnNames = {"DIN","DEN"};

    DefaultTableModel defTableModel = new DefaultTableModel(data,columnNames);
    JTable table1 = new JTable(defTableModel);

    JScrollPane sp1 = new JScrollPane(table1);

    Dimension scrollpaneDimension = new Dimension(185, 400);
    sp1.setVerticalScrollBarPolicy(sp1.VERTICAL_SCROLLBAR_ALWAYS);
    table1.setPreferredScrollableViewportSize(scrollpaneDimension);
    table1.setFillsViewportHeight(true);

我已经尝试了我发现的所有内容,我已经测试了GridBagLayout并使用其约束和c.fill = GridBagConstraints.HORIZONTAL;来为表格提供面板的大小。我尝试使用MigLayout进行操作,最后一次尝试使用上面提供的代码。我必须使表适合面板和可滚动但出现问题。此外,我很难获得所显示列的标题,但主要问题是前两个。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

你试图两次添加table1。就这样做

panel2.add(sp1); // instead of - panel2.add(table1,sp1);

您已将table1添加到滚动窗格

JScrollPane sp1 = new JScrollPane(table1);