Java JTable don';t将第一个单元格添加为空

Java JTable don';t将第一个单元格添加为空,java,swing,jtable,jframe,Java,Swing,Jtable,Jframe,Jtable为第一个单元格显示一个空单元格,代码如下: DefaultTableModel model = new DefaultTableModel(); table = new JTable(model){ public boolean isCellEditable(int rowIndex, int colIndex) { return false; //Disallow the editing of any cell

Jtable为第一个单元格显示一个空单元格,代码如下:

     DefaultTableModel model = new DefaultTableModel();
     table = new JTable(model){
        public boolean isCellEditable(int rowIndex, int colIndex) {
               return false; //Disallow the editing of any cell
             }};

          model.addColumn("JobID");                                              
                  model.addColumn("Job Location");
                  model.addColumn("Job Size");
                  model.addRow(new Object[]{"r5","2","3"});
输出为

ID         Location     Size
(*)        2            3
*
单元格(1,1)为空

请提供帮助。

此代码是正确的,必须有其他生成的内容

import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableModel;

public class DefTabMod extends JFrame {

    private static final long serialVersionUID = 1L;

    public DefTabMod() {

        DefaultTableModel model = new DefaultTableModel();
        JTable table = new JTable(model) {

            private static final long serialVersionUID = 1L;

            @Override
            public boolean isCellEditable(int rowIndex, int colIndex) {
                return false; //Disallow the editing of any cell
            }
        };

        model.addColumn("JobID");
        model.addColumn("Job Location");
        model.addColumn("Job Size");
        model.addRow(new Object[]{"r5", "2", "3"});
        table.setPreferredScrollableViewportSize(table.getPreferredSize());
        JScrollPane scrollPane = new JScrollPane(table);
        add(scrollPane, BorderLayout.CENTER);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                DefTabMod frame = new DefTabMod();
                frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
                frame.setLocation(150, 150);
                frame.pack();
                frame.setVisible(true);
            }
        });
    }
}


这里的关键是这一行:

table.setPreferredScrollableViewportSize(table.getPreferredSize());

它解决了所有问题

如果我使用相同的代码,它工作得很好。这里还涉及到其他代码吗?@techpush:您可以通过单击左侧的来接受这个有用的答案。