Java 如何创建一个有组织的面板;列表“;信息流动

Java 如何创建一个有组织的面板;列表“;信息流动,java,swing,jpanel,jlabel,layout-manager,Java,Swing,Jpanel,Jlabel,Layout Manager,我正在尝试创建一个包含相关信息的面板 我曾尝试使用setboordrayout将带有信息的标签添加到面板的某些区域,但我知道这不起作用,因为它只是覆盖了我之前已经拥有的内容 下面是我的代码中的一个示例: final JFrame fr = new JFrame("ATCGUI"); fr.setLayout(new BorderLayout()); JTabbedPane tabbedPane = new JTabbedPan

我正在尝试创建一个包含相关信息的面板

我曾尝试使用
setboordrayout
将带有信息的标签添加到面板的某些区域,但我知道这不起作用,因为它只是覆盖了我之前已经拥有的内容

下面是我的代码中的一个示例:

        final JFrame fr = new JFrame("ATCGUI");
        fr.setLayout(new BorderLayout());

        JTabbedPane tabbedPane = new JTabbedPane();
        JPanel tab1 = new JPanel();
        tab1.setLayout(new BorderLayout());
        tabbedPane.addTab("Airport", tab1);

        JLabel labelAirportName = new JLabel(airportInfo[0]);
        tab1.add(labelAirportName, BorderLayout.NORTH);

        JLabel labelAirportCodeStatic = new JLabel("Code:");
        JLabel labelAirportLocationStatic = new JLabel("Location:");
        JLabel labelAirportCoordinatesStatic = new JLabel("Coordinates:");
        JLabel labelAirportAltitudeStatic = new JLabel("Altitude:");
        JLabel labelAirportTimezoneStatic = new JLabel("Timezone:");
        JLabel labelAirportICAOStatic = new JLabel("ICAO:");
        tab1.add(labelAirportCodeStatic, BorderLayout.WEST);
        tab1.add(labelAirportLocationStatic, BorderLayout.WEST);
        tab1.add(labelAirportCoordinatesStatic, BorderLayout.WEST);
        tab1.add(labelAirportAltitudeStatic, BorderLayout.WEST);
        tab1.add(labelAirportTimezoneStatic, BorderLayout.WEST);
        tab1.add(labelAirportICAOStatic, BorderLayout.WEST);
最终会产生如下结果:

当我的目标看起来更像这样时:


我用SwingUI设计器创建了它,但由于兼容性,我将在maloomeister链接的Oracle Swing教程之后切换到just Swing


通过混合使用BorderLayout和GridLayout,我可以创建我想要的布局。

查看。
GridLayout
可能适合您的需要。通常,通过组合多个布局可以达到预期的效果。@maloomeister感谢您的链接!我不知道不同的布局管理器。这只是Oracle Swing教程的一部分。你可以看看完整的。这是一个很好的开始,因为它提供了许多工作示例。@maloomeister是的,我一直在看它,我想我只是从来没有到过那个部分。