gpt4 book ai didi

java - 从 Arraylist 实现 jTable

转载 作者:太空宇宙 更新时间:2023-11-04 06:39:00 25 4
gpt4 key购买 nike

我有一个包含 100 个值的 ArrayList。

al = "AA","BB","CC","DD","EE","FF"... upto 100 values

我需要将这些值插入到具有 2 列和 50 行的 jTable 中,即

col1   col2  
AA BB
CC DD
EE FF
... ...

最多 50 行

我如何得到它(最好使用循环)?需要一个通用的解决方案,因为元素或行的数量可能会有所不同。

最佳答案

这就是您需要的。我知道这可能不是优化的方式,仍然尝试这个:

package App;

import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;

public class JtableModel extends AbstractTableModel {

List list, oddList, evenList;
String col_names[] = {"First", "Second"};

public JtableModel(List list) {
this.list = list;

}

public void myFormatting(){

this.oddList = new ArrayList();
this.evenList = new ArrayList();
for (int i = 0; i < list.size(); i++) {
if (i % 2 == 0) {
this.evenList.add(list.get(i));
} else {
this.oddList.add(list.get(i));
}
}
}



@Override
public int getRowCount() {
return evenList.size();
}

@Override
public int getColumnCount() {
return col_names.length;
}

@Override
public Object getValueAt(int rowIndex, int columnIndex) {

switch (columnIndex) {
case 0:
try {
return evenList.get(rowIndex);
} catch (Exception e) {

}
case 1:
try {
return oddList.get(rowIndex);
} catch (Exception e) {
//find out how you can validate this

}
}

return new String();
}
}

并使用 NetBeans 生成 java 文件的片段:

 public class JtableDemo extends javax.swing.JFrame {

/**
* Creates new form JtableDemo
*/
public JtableDemo() {
initComponents();
fillTbl();
}

public void fillTbl(){
ArrayList arr = new ArrayList();
arr.add("AA");
arr.add("BB");
arr.add("CC");
arr.add("DD");
arr.add("EE");

JtableModel tableModel = new JtableModel(arr);
tableModel.myFormatting();
jTable1.setModel(tableModel);

}

enter image description here

关于java - 从 Arraylist 实现 jTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24930545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com