下面是我用来使用 JTable 生成表数据的代码
public class Scroller extends JFrame {
public Scroller() throws HeadlessException {
String columnNames[] = { "Location", "Lived In People" };
// Create some data
String dataValues[][] =
{
{ "100 Hamilton", "" },
{ "", "Balan" },
{ "", "Kris" },
{ "Parkwood place", "" },
{ "", "Kris" }
};
JTable table = new JTable(dataValues, columnNames);
table.setPreferredSize(new Dimension(250, 600));
final JScrollPane scroll = new JScrollPane(table);
scroll.getVerticalScrollBar().setUnitIncrement(50);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
add(scroll, BorderLayout.CENTER);
setSize(300, 300);
setVisible(true);
}
public static void main(final String[] args) throws Exception {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new Scroller().setVisible(true);
}
});
}
}
输出如下所示
现在,我可以点击每一行。但是当我双击任何单元格时,它可以让我编辑单元格中的数据。我发现我可以用它table.setEnabled(false)
来避免这种情况发生。
但我正在尝试制作表格,以便可以选择每一行,但单元格不应该是可编辑的。有没有直接的方法来实现这一目标?
注意:我试图覆盖这篇文章isCellEditable
中指定的函数。但运行时屏幕只显示空表。