无法填充使用IntelliJ GUI Designer创建的JTable功能

时间:2016-03-11 00:12:23

标签: java swing user-interface intellij-idea jtable

我有一个我在IntelliJ的GUI Designer中制作的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));
    }
}

1 个答案:

答案 0 :(得分:3)

我明白了,答案是我缺少 JScrollPane 。我不得不通过IntelliJ Designer放入一个名为 JScrollPane 的组件,并将 JTable 放入其中。这允许列名显示在JTable上。