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) 为空
请帮忙。
最佳答案
此代码对于 JTable 是正确的,一定还有另一个生成的东西......
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);
}
});
}
}
关于java - JTable 不添加第一个单元格为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8366382/