我有一个用IntelliJ的GUI设计器制作的JTable组件。该类已绑定到GUI窗体,并且可以毫无问题地进行编译,但是表保持为空。我也尝试过使用其他代码,但是对于Java来说我有点陌生,我真的很想知道答案。请不要给我半个答案,也不要指向我要解决的页面。我在这里是因为我确实尝试过。
package com.company;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
/**
* Created by User on 3/8/2016.
*/
public class TableGUI {
private static JFrame frame;
private JTable table1;
private JPanel panel1;
public TableGUI() {
DefaultTableModel model = new DefaultTableModel();
table1.setAutoCreateRowSorter(true);
table1.setFillsViewportHeight(true);
table1.setPreferredScrollableViewportSize(new Dimension(550, 200));
model.addColumn("Id");
model.addColumn("First Name");
model.addColumn("Last Name");
model.addColumn("Company Name");
table1.setModel(model);
}
public static void main(String[] args) {
frame = new JFrame("TableGUI");
frame.setContentPane(new TableGUI().panel1);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
frame.setSize(new Dimension(600, 400));
}
}
我知道了,答案是我缺少JScrollPane。我必须通过IntelliJ Designer放入一个名为JScrollPane的组件,并将其中的JTable放入其中。这允许列名显示在JTable上。