如图:首先是只显示了一个桌号标题,其他三个都没显示,是什么问题,还有要显示第五个的时候换行,该怎么去判断啊?先谢谢大家了,帮帮忙。
自己瞎写的代码(很乱)如下:public Test() throws Exception {
setBackground(SystemColor.windowBorder);
// 设置窗体加载时最大化
setExtendedState(JFrame.MAXIMIZED_BOTH);
// 去掉边框
setUndecorated(true);
// 单击退出按钮退出
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 退出失效
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
setForeground(SystemColor.windowBorder);
setTitle("Hello World");
// setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setForeground(SystemColor.windowBorder);
contentPane.setBackground(SystemColor.windowBorder);
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);

//给Jpanel布局
XYLayout xYLayout1 = new XYLayout();
this.getContentPane().setLayout(xYLayout1);


int count = 1; // 菜名序号
int countqty = 0; // 一种菜名点了几份
int countdone = 0; // 完成的份数
String done_qty = ""; // 一种菜名的总份数和完成的份数(如:3/3)
String conunt_qty = ""; // 所有菜单 一共点了几份和一共完成几份(如:7/7) // 表头
TableService ts = new TableServiceImpl();
List<Kitchenbill00> k00lt = ts.showTable();
String columnName = "";
String kb00ID = ""; Object[][] datas = null;  //定义数组Jtable中要存放的数据
for (int k = 0; k < k00lt.size(); k++) {
Kitchenbill00 kb = k00lt.get(k);
kb00ID = kb.getBill_id();
String table_no = kb.getTable_no(); OrderService ds = new OrderServiceImpl();
List<Kitchenbill01> lt = ds.showOrder(kb00ID);
datas = new Object[lt.size()][3]; // 初始化数组 存放表格中的数据 for (int i = 0; i < lt.size(); i++) {
Kitchenbill01 da = lt.get(i);
countqty += (int) da.getQty(); // 一种菜名点了几份
countdone += (int) da.getDone_qty(); // 完成的份数
// 一种菜名的总份数和完成的份数(如:3/3)
done_qty = (int) da.getDone_qty() + "/" + (int) da.getQty();
datas[i][0] = count;
datas[i][1] = da.getProd_name1();
datas[i][2] = done_qty;
count++; // 菜名序号
}
// 所有菜单 一共点了几份和一共完成几份(如:7/7)
conunt_qty = countdone + "/" + countqty;
columnName = "桌号:," + table_no + "," + conunt_qty;
System.out.println(table_no); //Jtable的标题部门就是图中只显示第一个的标题,其他三个没显示
String[] columnNames = columnName.split(","); 

DefaultTableModel tb = new DefaultTableModel(datas, columnNames);
// 然后你再实例化一个JTable
JTable t = new JTable(tb);
//显示标题
t.setPreferredScrollableViewportSize(new Dimension(550,30));
this.getContentPane().add(t.getTableHeader(),BorderLayout.NORTH);
this.getContentPane().add(t,BorderLayout.CENTER);
//某列居中
DefaultTableCellRenderer render = new DefaultTableCellRenderer();
        render.setHorizontalAlignment(SwingConstants.CENTER);
        t.getColumn("桌号:").setCellRenderer(render);
t.setBorder(new LineBorder(SystemColor.menu, 2));
t.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
t.setBounds(new Rectangle(1, 20, 248, 290));
t.setForeground(Color.RED);
t.setBackground(Color.CYAN);
// 定义一个容器
JPanel p = new JPanel();
p.setPreferredSize(new Dimension(250, 350));// 关键代码,设置JPanel的大小
p.setLayout(null);
xYLayout1.setWidth(500);
xYLayout1.setHeight(1000);
//设置Jpanel在窗体的位置和大小
this.getContentPane().add(p, new XYConstraints(5*53*k, 2, 225, 350));
p.setForeground(Color.BLUE);
p.setBackground(Color.GREEN);  
p.add(t);
}
}