Java scrollpane未添加到面板,而是显示白色屏幕

Java scrollpane未添加到面板,而是显示白色屏幕,java,swing,jtable,jscrollpane,Java,Swing,Jtable,Jscrollpane,所以我有一个表,它显示来自数据库的数据,但是由于有很多数据被输出到表中,它超出了我为JFrame设置的界限 我尝试在下面添加一个滚动窗格,但不允许我向下滚动GUI,而是在整个GUI上显示白色!所有我需要做的就是使它,这样我就可以向下滚动查看整个表 这是我的密码: public class ViewAll extends JFrame{ //Jtextfields, buttons, labels private static JButton one = new JButton("

所以我有一个表,它显示来自
数据库的数据
,但是由于有很多数据被输出到表中,它超出了我为JFrame设置的
界限

我尝试在下面添加一个滚动窗格,但不允许我向下滚动GUI,而是在整个GUI上显示白色!所有我需要做的就是使它,这样我就可以向下滚动查看整个表

这是我的密码:

public class ViewAll extends JFrame{
    //Jtextfields, buttons, labels
    private static JButton one = new JButton("Back");
    private static JLabel lblMembTitle = new JLabel("<html><h1>All Members</h1></html>");
    private static JLabel lblPlayTitle = new JLabel("<html><h1>All Playlists</h1><br /></html>");
    //Containers, Panels, Scrollpanes
    private Container mainCon = this.getContentPane();
    private static JPanel pnlTable = new JPanel();


    //Tables
    private static JTable tblShowAllMemb = new JTable();
    private static JTable tblShowAllPlay = new JTable();
    JScrollPane scrollPane = new JScrollPane(pnlTable,   ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);



    public ViewAll(){
        super("Search/Edit/Delete Members");
        this.setBounds(400, 800, 854,400);
        //Add panel and create table model
        mainCon.add(pnlTable);
        MemTableModel tblMembers = new MemTableModel();
        PlayTableModel tblPlaylist = new PlayTableModel();
        this.add(scrollPane);

        //Add table and set tableModel
        pnlTable.add(lblMembTitle);
        pnlTable.add(tblShowAllMemb);
        tblShowAllMemb.setModel(tblMembers);

        pnlTable.add(lblPlayTitle);
        pnlTable.add(tblShowAllPlay);
        tblShowAllPlay.setModel(tblPlaylist);
    }

}
public类ViewAll扩展JFrame{
//jtext字段、按钮、标签
私有静态JButton one=新JButton(“Back”);
私有静态JLabel lblMembTitle=新JLabel(“所有成员”);
私有静态JLabel lblplaytTitle=新JLabel(“所有播放列表
”); //容器、面板、滚动窗格 私有容器mainCon=this.getContentPane(); 私有静态JPanel pnlTable=new JPanel(); //桌子 私有静态JTable tblshowallmeb=新JTable(); 私有静态JTable tblShowAllPlay=新JTable(); JScrollPane scrollPane=新的JScrollPane(pnlTable、ScrollPaneConstants.VERTICAL、ScrollPaneConstants.HORIZONTAL、ScrollPaneConstants.HORIZONTAL); 公共视图全部(){ 超级(“搜索/编辑/删除成员”); 这是一个挫折(400800854400); //添加面板并创建表格模型 主控添加(pnlTable); MemTableModel tblMembers=新MemTableModel(); PlayTableModel tblPlaylist=新的PlayTableModel(); 添加(滚动窗格); //添加表格并设置表格模型 pnlTable.add(lblMembTitle); pnlTable.add(tblshowallmeb); tblShowAllMemb.setModel(tblMembers); pnlTable.add(lblPlayTitle); pnlTable.add(tblShowAllPlay); tblShowAllPlay.setModel(tblPlaylist); } }
您似乎将
JPanel pnlTable
添加到多个容器中,首先添加到
scrollPane
,然后添加到
Container mainCon
(因此它不在
scrollPane
中,因为组件只能在一个容器中)。因此,当您将
scrollPane
单独添加到
ViewAll
时,它不会显示任何内容,因为它是空的

因此,请使用:

mainCon.add(scrollPane);
或删除
mainCon.add(pnlTable)并仅使用:

this.add(scrollPane);

您似乎将
JPanel pnlTable
添加到多个容器中,首先添加到
scrollPane
,然后添加到
Container mainCon
(因此它不在
scrollPane
,因为组件只能在一个容器中)。因此,当您将
scrollPane
单独添加到
ViewAll
时,它不会显示任何内容,因为它是空的

因此,请使用:

mainCon.add(scrollPane);
或删除
mainCon.add(pnlTable)并仅使用:

this.add(scrollPane);

您似乎将
JPanel pnlTable
添加到多个容器中,首先添加到
scrollPane
,然后添加到
Container mainCon
(因此它不在
scrollPane
,因为组件只能在一个容器中)。因此,当您将
scrollPane
单独添加到
ViewAll
时,它不会显示任何内容,因为它是空的

因此,请使用:

mainCon.add(scrollPane);
或删除
mainCon.add(pnlTable)并仅使用:

this.add(scrollPane);

您似乎将
JPanel pnlTable
添加到多个容器中,首先添加到
scrollPane
,然后添加到
Container mainCon
(因此它不在
scrollPane
,因为组件只能在一个容器中)。因此,当您将
scrollPane
单独添加到
ViewAll
时,它不会显示任何内容,因为它是空的

因此,请使用:

mainCon.add(scrollPane);
或删除
mainCon.add(pnlTable)并仅使用:

this.add(scrollPane);

不要阻止EDT(事件调度线程)。发生这种情况时,GUI将“冻结”。有关详细信息和修复方法,请参阅。不要阻止EDT(事件调度线程)。发生这种情况时,GUI将“冻结”。有关详细信息和修复方法,请参阅。不要阻止EDT(事件调度线程)。发生这种情况时,GUI将“冻结”。有关详细信息和修复方法,请参阅。不要阻止EDT(事件调度线程)。发生这种情况时,GUI将“冻结”。有关详细信息和修复方法,请参阅。我已经完成了此操作,但由于某些原因,它会将表和
Jlabels
水平放置?所以不要向下滚动,你必须水平滚动@James111试图更改
pnlTable
的布局,
JPanel
的默认布局是
FlowLayout
,可能会出现问题。例如,将其更改为
BoxLayout.PAGE_AXIS
是的,您的权利……我与布局管理器没有做太多工作。我可能应该花更多的时间在布局上,因为我还没有设计任何GUI的样式!我已经这样做了,但由于某种原因,它会将表和
Jlabels
水平放置?所以不要向下滚动,你必须水平滚动@James111试图更改
pnlTable
的布局,
JPanel
的默认布局是
FlowLayout
,可能会出现问题。例如,将其更改为
BoxLayout.PAGE_AXIS
是的,您的权利……我与布局管理器没有做太多工作。我可能应该花更多的时间在布局上,因为我还没有设计任何GUI的样式!我已经这样做了,但由于某种原因,它会将表和
Jlabels
水平放置?所以不要向下滚动,你必须水平滚动@James111试图更改
pnlTable
的布局,
JPanel
的默认布局是
FlowLayout
,可能会出现问题。例如,将其更改为
BoxLayout.PAGE_AXIS
是的,您的权利……我与布局管理器没有做太多工作。我可能应该花更多的时间在布局上,因为我还没有设计任何GUI的样式!我已经这样做了,但由于某种原因,它会将表和
Jlabels
水平放置?所以不要向下滚动,你必须水平滚动@James111尝试更改
pnlTable
的布局,默认