当前位置: 首页 > 知识库问答 >
问题:

使用Swing UI Designer-IntelliJ在JTabbedPane中创建JTable

常飞翼
2023-03-14
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");
    }
}

我对这个很陌生,所以也许有什么我错过了,或者只是不知道。

共有1个答案

居焱
2023-03-14

如果没有JTabbedPane代码,就很难在自己的代码中提出可以“修复”的内容。

对于使用具有多个选项卡的JTabbedPane,这是一个很好的参考:

https://docs.oracle.com/javase/tutorial/uiswing/components/tabbedpane.html

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);
    }
}
 类似资料:
  • 问题内容: 我正在IntelliJ IDEA 9中用一个按钮创建一个简单的GUI表单。用该表单创建的类不是JFrame或任何其他swing类。如何在源代码中调用表单? 问题答案: 只需进入与您的表单关联的类,按+ 并选择“ Form main()”即可。 资源: GUI设计器基础

  • 我已经检查了https://docs.aion.network页面,但似乎没有任何相关信息。

  • 我使用IntelliJ创建了一个简单的应用程序,我将我的项目导出到一个jar文件,所有的事情都很好,jar文件工作正常。现在我决定在项目中使用jfoenix.jar作为按钮和文本字段,我向项目中添加了一个jfoenix,它在intellij环境中运行良好,但是当我将项目导出到jar时,它就不工作了(我单击创建的jar文件,什么也没有发生)。我知道我的问题与jfoenix.jar库有关,因为它似乎没

  • 我想在现有的IntelliJ IDEA Java项目(Java版本1.8.0_20)中集成一个JavaFX GUI。 虽然我可以在我的IDE中从头创建一个JavaFX项目(启用了JavaFX插件),但我想不出如何创建模块。 我需要为一个新的Java模块定义一个新的模块SDK吗?还是JavaFX模块的类型必须是IntelliJ平台插件?我两样都试了,都没有成功。请帮帮忙。

  • 在我的项目中,我决定将单元测试和集成测试拆分为单独的包,我的项目结构基本上如下所示: 轻松地分离两种测试是一个很好的选择,intellij重构与这个解决方案配合得很好。一切都被正确地设置了,两个目录都被标记为,使用gradle的插件,gradle识别这两个源代码集,我创建了两个独立的任务来运行每个测试套件等等。我唯一的问题是intellij自动创建测试向导不能区分这两个目录,我唯一可以修改的是类路