一、适应List
为了我的list类型,添加一个MyTable类,方便我自己弹出表格。
二、代码
1、MyTable.java
package cays;
import javax.swing.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Vector;
/**
* @Auther: cays
* @Date: 2019/1/8 17:25
* @Description:
*/
public class MyTable {
//窗口显示
private JFrame jFrame;
//表格显示
private JTable jTable;
//滑动显示
private JScrollPane jsp;
//rowData存放数据
//columnName存放列名
private Vector rowData, columnName;
public MyTable() {
jFrame=new JFrame();
rowData=new Vector();
columnName=new Vector();
}
public MyTable(List<String> columns,List<List<String>> rows,String title){
jFrame=new JFrame();
rowData=new Vector();
columnName=new Vector();
for (int i=0;i<columns.size();i++)columnName.add(columns.get(i));
for (int i=0;i<rows.size();i++){
Vector row=new Vector();
for (int j=0;j<rows.get(i).size();j++){
row.add(rows.get(i).get(j));
}
rowData.add(row);
}
//初始化表格
jTable=new JTable(rowData,columnName);
//关闭表格自动调整大小
jTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
//滑动添加表格
jsp=new JScrollPane(jTable);
//左右都可以滑动
jsp.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
jsp.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
jFrame.add(jsp);
jFrame.setTitle(title);
jFrame.setSize(1200, 600);
jFrame.setLocation(30, 30);
//jFrame.setDefaultCloseOperation(JFrame.);
jFrame.setResizable(true);
jFrame.setVisible(true);
}
public static void main(String []args){
List<String> columns=new ArrayList<>(Arrays.asList("编号","姓名","年龄"));
List<List<String>> rows=new ArrayList<>();
for (int i=0;i<50;i++){
List<String> row=new ArrayList<>(Arrays.asList(""+i,"李白"+i,""+(i+20)));
rows.add(row);
}
new MyTable(columns,rows,"标题");
}
}
2、Main测试
public static void main(String []args){
List<String> columns=new ArrayList<>(Arrays.asList("编号","姓名","年龄"));
List<List<String>> rows=new ArrayList<>();
for (int i=0;i<50;i++){
List<String> row=new ArrayList<>(Arrays.asList(""+i,"李白"+i,""+(i+20)));
rows.add(row);
}
new MyTable(columns,rows,"标题");
}
3、结果图