【问题标题】:Fit a JTable in a JPane and Scroll vertically将 JTable 放入 JPane 并垂直滚动
【发布时间】:2013-12-07 01:51:02
【问题描述】:

我有一个这样的面板:

    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 来完成,最后一次尝试是使用上面提供的代码。我必须让表格适合面板并且可以滚动,但是出了点问题。我也很难得到显示的列的标题,但主要问题是前两个。有什么建议吗?

【问题讨论】:

    标签: java swing jtable panel jscrollpane


    【解决方案1】:

    您尝试添加 table1 两次。就这样做

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

    您已经将table1 添加到滚动窗格中

    JScrollPane sp1 = new JScrollPane(table1);
    

    【讨论】:

    • 是的,这提供了一种解决方案,现在一半的滚动条被组件剪切,并且从左侧看不到零,它们同样从组件中剪切。有什么办法可以节省这个时间还是我只需要增加我的面板?
    • 我只是调整了面板的大小,这是一个简单的解决方案,所以不要打扰,谢谢 :)
    猜你喜欢
    • 1970-01-01
    • 2021-08-03
    • 2015-10-04
    • 2011-11-20
    • 1970-01-01
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多