表格输出行号 为啥不对呢? 但是控制台输出正常

newflashman 2016-09-05 05:08:08
import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

public class CopyOfuseTable {

static Vector<Vector<String>> vectors = new Vector<>();
static Vector<String> vectorStr = new Vector<>();
static Vector<String> titleVector = new Vector<>();



public static void main(String[] args) {
// TODO 自动生成的方法存根

JFrame frame = new JFrame("表格测试");

frame.setBounds(0,0,700,455);
frame.setLocationRelativeTo(null);

setVectorData();

DefaultTableModel dfTableModel = new DefaultTableModel(vectors, titleVector);

JTable table = new JTable(dfTableModel);

JScrollPane scrollPane = new JScrollPane();
scrollPane.setViewportView(table);

frame.add(scrollPane);

frame.setVisible(true); }


static public void setVectorData()
{

for (int k = 0; k < 10; k++) {
titleVector.add("表头"+k);
}

for(int i=0;i<100;i++)
{
for(int j =0;j<10;j++)
{
String string = i+"数据"+j;
System.out.println(string); // 为什么输出 跟 表格输出信息不一样?
vectorStr.add(string);
}
vectors.add(vectorStr);
}
}
}
...全文
215 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sean_0xiao 2016-09-05
  • 打赏
  • 举报
回复
逻辑出错了,你的vectorStr是全局变量,每次都在往里面写东西,而每次写的东西又写入到vectors中,造成了数据的重复。所以我将vectorStr作为局部变量就行了。 for(int i=0;i<100;i++) { Vector<String> vectorStr = new Vector(); for(int j =0;j<10;j++) { String string = i+"数据"+j; // System.out.println(string); // 为什么输出 跟 表格输出信息不一样? vectorStr.add(string); } vectors.add(vectorStr); }
unauthorized401 2016-09-05
  • 打赏
  • 举报
回复
你可以好好拼接下字符串,把数据按照一定格式(表格)输出
java竹雨 2016-09-05
  • 打赏
  • 举报
回复
一样的呀 你想像表格哪个样子输出么?

62,626

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧