Java 使用Swing UI设计器-Intellij在JTabbedPane中创建JTable
我正在尝试创建一个包含多个选项卡的框架,每个选项卡都有不同的列表。我已经将SwingUI设计器与Intellij一起使用来创建“资产”,然后在我的主类文件中修改它们。我查阅了一些使用设计器创建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
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程序中的大部分代码(当涉及到选项卡窗格时,我可能是错的)。但老实说,我正在考虑切换到正常的摆动,因为我目前还没有找到一个适合我的例子。感谢链接和您的解决方案。看起来很直截了当,我稍后会试一试。