有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JTable行增长的java问题

我正在编写一段代码,其中有一个JTable和我自己制作的表模型(它不是默认模型),在程序执行时,我必须在其中填充数据。因此,行数也会随着数据的增加而增加(在不同的时间不同)。我不想显示不必要的行,我的意思是不要通过提前创建一个大堆栈来显示空行

既然数组大小是固定的(我想先用它),有人能帮我找到最好的方法吗


共 (2) 个答案

  1. # 1 楼答案

    只需在需要时向模型中添加新行。在一个简单的情况下,您可以只使用DefaultTableModel(默认情况下由JTable使用),或者如果它不够灵活,可以通过扩展AbstractTableModel来实现您自己的模型。大概是这样的:

    DefaultTableModel model = new DefaultTableModel();
    model.addColumn("Number");
    model.addColumn("Number + 1");
    
    //Add pointless numbers to model
    for(int i = 0; i < 10; i++) {
        model.addRow(new Integer[] { i, i + 1});
    }
    
    JTable table = new JTable(model);
    

    当您修改JTable时,该模型会将更改通知JTable。如果模型的概念对您来说是陌生的,我建议您阅读JTable组件的官方介绍:http://download.oracle.com/javase/tutorial/uiswing/components/table.html

  2. # 2 楼答案

    改用^{}。它根据需要在内部调整数据结构的大小

    ArrayList<Integer[]> arrayList = new ArrayList<Integer[]>();
    
    arrayList.add(new Integer[]{1, 2});
    arrayList.add(new Integer[]{3, 4});
    arrayList.add(new Integer[]{5, 6});