Java 如何使此jtable可滚动

Java 如何使此jtable可滚动,java,swing,jtable,jscrollpane,Java,Swing,Jtable,Jscrollpane,当我尝试在表格中放置垂直滚动窗格时,表格ctab就消失了。代码如下: ctab = new JTable(); ctab.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); ctab.setBounds(15, 97, 780, 347); frmKusinaNiKambal.getContentPane().add(ctab); ctab.setModel(new Defau

当我尝试在表格中放置垂直滚动窗格时,表格ctab就消失了。代码如下:

    ctab = new JTable();
    ctab.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);



    ctab.setBounds(15, 97, 780, 347);
    frmKusinaNiKambal.getContentPane().add(ctab);
            ctab.setModel(new DefaultTableModel(
                new Object[][] {
                    {"", "", null, null, null, null, null, null, null},
                },
                new String[] {
                    "Contract #", "Engager", "Contact #", "Client Address", "Date", "Time", "Event Address", "Contract FilePath", "Referred By"
                }
            ) {
                boolean[] columnEditables = new boolean[] {
                    false, false, false, false, false, false, false, false, false
                };
                public boolean isCellEditable(int row, int column) {
                    return columnEditables[column];
                }
            });
            ctab.getColumnModel().getColumn(3).setPreferredWidth(102);
            ctab.getColumnModel().getColumn(4).setPreferredWidth(62);
            ctab.getColumnModel().getColumn(5).setPreferredWidth(41);
            ctab.getColumnModel().getColumn(6).setPreferredWidth(95);
            ctab.isEnabled();

如何使此表可滚动?

我在您发布的代码中没有看到您在任何地方处理JScrollPane。相反,您的代码显示您将JTable直接放入contentPane中

解决办法是

  • 将JTable放入JScrollPane的视口中。您可以通过将JTable传递到JScrollPane的构造函数中,或者在JScrollPane上调用
    setViewportView(…)
    并传递JTable来实现这一点
  • 然后将JScrollPane而不是JTable放入GUI中
  • 了解并使用Swing布局管理器。使用空布局和设置框的绝对定位将导致难以升级的GUI

有用的教程链接:


在您发布的代码中,我没有看到您在任何地方处理JScrollPane。相反,您的代码显示您将JTable直接放入contentPane中

解决办法是

  • 将JTable放入JScrollPane的视口中。您可以通过将JTable传递到JScrollPane的构造函数中,或者在JScrollPane上调用
    setViewportView(…)
    并传递JTable来实现这一点
  • 然后将JScrollPane而不是JTable放入GUI中
  • 了解并使用Swing布局管理器。使用空布局和设置框的绝对定位将导致难以升级的GUI

有用的教程链接:


在您发布的代码中,我没有看到您在任何地方处理JScrollPane。相反,您的代码显示您将JTable直接放入contentPane中

解决办法是

  • 将JTable放入JScrollPane的视口中。您可以通过将JTable传递到JScrollPane的构造函数中,或者在JScrollPane上调用
    setViewportView(…)
    并传递JTable来实现这一点
  • 然后将JScrollPane而不是JTable放入GUI中
  • 了解并使用Swing布局管理器。使用空布局和设置框的绝对定位将导致难以升级的GUI

有用的教程链接:


在您发布的代码中,我没有看到您在任何地方处理JScrollPane。相反,您的代码显示您将JTable直接放入contentPane中

解决办法是

  • 将JTable放入JScrollPane的视口中。您可以通过将JTable传递到JScrollPane的构造函数中,或者在JScrollPane上调用
    setViewportView(…)
    并传递JTable来实现这一点
  • 然后将JScrollPane而不是JTable放入GUI中
  • 了解并使用Swing布局管理器。使用空布局和设置框的绝对定位将导致难以升级的GUI

有用的教程链接:


所以我首先在JTable之前声明Jscrollpane?@user3209957:不,声明顺序与此无关。如果您还没有阅读JScrollPane教程,请尽快阅读。@user3209957:答案中添加了教程链接。所以我先声明JScrollPane,然后再声明JTable?@user3209957:否,声明顺序与此无关。如果您还没有阅读JScrollPane教程,请尽快阅读。@user3209957:答案中添加了教程链接。所以我先声明JScrollPane,然后再声明JTable?@user3209957:否,声明顺序与此无关。如果您还没有阅读JScrollPane教程,请尽快阅读。@user3209957:答案中添加了教程链接。所以我先声明JScrollPane,然后再声明JTable?@user3209957:否,声明顺序与此无关。如果您尚未阅读JScrollPane教程,请尽快阅读。@user3209957:答案中添加了教程链接。