Java 使用Swing UI设计器-Intellij在JTabbedPane中创建JTable

Java 使用Swing UI设计器-Intellij在JTabbedPane中创建JTable,java,swing,intellij-idea,jtable,jtabbedpane,Java,Swing,Intellij Idea,Jtable,Jtabbedpane,我正在尝试创建一个包含多个选项卡的框架,每个选项卡都有不同的列表。我已经将SwingUI设计器与Intellij一起使用来创建“资产”,然后在我的主类文件中修改它们。我查阅了一些使用设计器创建JTable的示例,但这些示例不使用多个选项卡,我认为这是我目前的主要问题,因为我不知道如何做到这一点 这是目前的代码 package client; import javax.swing.*; import javax.swing.table.TableModel; import java.awt.ev

我正在尝试创建一个包含多个选项卡的框架,每个选项卡都有不同的列表。我已经将SwingUI设计器与Intellij一起使用来创建“资产”,然后在我的主类文件中修改它们。我查阅了一些使用设计器创建JTable的示例,但这些示例不使用多个选项卡,我认为这是我目前的主要问题,因为我不知道如何做到这一点

这是目前的代码

package client;

import javax.swing.*;
import javax.swing.table.TableModel;
import java.awt.event.*;

public class ATCGUI extends GUI {

    private JPanel mainPanel;
    private JTabbedPane tabbedPanel;
    private JPanel tabbedAirportInfo;

    private JScrollPane scrollPane;
    private JButton addButtonOut;
    private JButton deleteButtonOut;
    private JButton addButtonIn;
    private JButton deleteButtonIn;
    private JTable tableOut;
    private JTable tableIn;
    private JPanel panelOut;
private JScrollPane tabbedPaneOut;

    public ATCGUI(String AirportCode) {

        this.add(mainPanel);

        String airportID = getID(AirportCode);

        TableOut(airportID);

        pack();
        setVisible(true);
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);
    }

    private void TableOut(String airportID){
        String[] columnNames = {"Airline", "Destination", "Aircraft"};

        Object[][] dataTest = {{"Iberia", "London", "737"}, {"AirEuropa", "Paris", "320"}, {"BritishAirways", "Berlin", "330"}};

        JTable TableOut = new JTable(dataTest, columnNames);

        setContentPane(panelOut);
    }
    public static void main(String[] args) {
        new ATCGUI("MAD");
    }
}
目前,它显示了不同的选项卡,但JTable没有出现在任何选项卡中。我确实确保将JTable放在JScrollPane中


我对这一点很陌生,所以可能有些东西我遗漏了,或者只是不知道。

如果没有您的
JTabbedPane
代码,就很难建议您在自己的代码中“修复”什么

这是使用带有多个选项卡的
JTabbedPane
的好参考:

JTabbedPane
如何与数据一起使用的示例:

package whatever;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;

public class MyGui extends JFrame {

    private JTabbedPane tPane;

    MyGui(String t){
        super(t);
        this.tPane = new JTabbedPane();
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        tPane.addTab("Tab 1", createTab());
        tPane.addTab("Tab 2", createTab());
        tPane.addTab("Tab 3", createTab());
        tPane.addTab("Tab 4", createTab());
        this.setContentPane(this.tPane);
        this.setSize(400, 400);
        this.setVisible(true);
    }
    
    public static void main(String[] args) {
        new MyGui("My Tabbed App");
    }

    private JScrollPane createTab(){
        String[] columnNames = {"Airline", "Destination", "Aircraft"};
        Object[][] dataTest = {{"Iberia", "London", "737"}, {"AirEuropa", "Paris", "320"}, {"BritishAirways", "Berlin", "330"}};
        JTable tableOut = new JTable(dataTest, columnNames);
        return new JScrollPane(tableOut);
    }
}

正如我所说,我使用的是SwingUI设计器,它省略了普通Swing程序中的大部分代码(当涉及到选项卡窗格时,我可能是错的)。但老实说,我正在考虑切换到正常的摆动,因为我目前还没有找到一个适合我的例子。感谢链接和您的解决方案。看起来很直截了当,我稍后会试一试。