Java 用户界面中的JTable

Java 用户界面中的JTable,java,swing,jtable,Java,Swing,Jtable,我需要帮助理解如何实现JTable。当给定标题名和数据时,我的JTable不显示,我尝试了pack()(使我的所有内容都消失,但菜单消失),我尝试了setFillsViewportHeight(true),但没有更新任何内容。任何帮助或指导都将不胜感激 // Main public static void main(String[] args) { Main window = new Main("A Project"); window.setBounds(30

我需要帮助理解如何实现JTable。当给定标题名和数据时,我的JTable不显示,我尝试了pack()(使我的所有内容都消失,但菜单消失),我尝试了setFillsViewportHeight(true),但没有更新任何内容。任何帮助或指导都将不胜感激

// Main
public static void main(String[] args) {
    Main window = new Main("A Project");
    window.setBounds(30, 30, 700, 500);
    window.setVisible(true);
}


// Displays a box with a menu bar that has file and about options(code not shown):

public Main(String title) {
    JMenuBar menuBar = new JMenuBar(); // Window menu bar
    setTitle(title);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setJMenuBar(menuBar); // Add the menu bar to the window
}

// This section of code is inside action listener when you click menu bar's file then load a file:
// Nothing appears:

String[] columnNames = {"ID","First Name","Last Name","Program","Level","USERNAME"};
        ArrayList[][] data = loadFileRoster.getRosterData();
        JTable table = new JTable(data,columnNames);
        JScrollPane scrollPane = new JScrollPane(); 
        table.add(scrollPane);
        table.setVisible(true);
我不知道您可以使用包含数据的ArrayList创建JTable(除非是JDK 14中新的)

您不会将滚动窗格添加到表中。将
JTable
添加到
JScrollPane
JViewport
。这是通过使用:

    JScrollPane scrollPane = new JScrollPane( table );
然后将滚动窗格添加到框架中

    table.setVisible(true);
默认情况下,Swing组件可见。setVisible(true)是不必要的

阅读上Swing教程中的部分以了解工作示例

下载示例并修改它们。它们将向您展示如何更好地构造代码

    JScrollPane scrollPane = new JScrollPane( table );
    table.setVisible(true);