Java滚动 Pane 不添加到面板而是显示白屏

标签 java swing jtable jscrollpane

所以我有一个表显示来自数据库的数据,但由于有大量数据被输出到表中,它远远超出了我设置的边界对于 JFrame。

我尝试在下面添加一个 ScrollPane,但它不允许我向下滚动 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);
    }

}

最佳答案

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

所以使用:

mainCon.add(scrollPane);

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

this.add(scrollPane);

关于Java滚动 Pane 不添加到面板而是显示白屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30754795/

相关文章:

java - jar java程序编码

java - 如何在 JTable 上添加图像背景,滚动 JTable 时不滚动

java - 无法让 MouseListener 在 Hexagon(生成的多边形)上工作

java - 异常: adding a window to a container.如何解决?

java - 如何使 JTable 单元格(链接)可点击

java - 将显示 jComboBox 的渲染器链接到 jTable 中的单元格

java - 重新排列单词以在一行中容纳最大单词数并使用 Java 创建更少的行数

Java 主类找不到或加载错误

java - 如何为 JTable 中的特定列编写焦点获得事件?

java - java中字符串相乘的方法