我有一个我在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));
}
}
答案 0 :(得分:3)
我明白了,答案是我缺少 JScrollPane 。我不得不通过IntelliJ Designer放入一个名为 JScrollPane 的组件,并将 JTable 放入其中。这允许列名显示在JTable上。