[英]Create JTable in a JPanel and add row
On my program I've dinamically created a JFrame that contains a JPanel called jp
. 在我的程序中,我用dinamically创建了一个包含一个名为
jp
的JPanel的JFrame。 jp also contains a JTable that I would like to fill with some rows. jp还包含一个JTable,我想填充一些行。
case KeyEvent.VK_R:
JFrame frame = new JFrame("Snake v2.0 - Rankings");
JPanel jp = new JPanel();
jp.setPreferredSize(new Dimension(300,300));
JTable table = new JTable();
JScrollPane tableContainer = new JScrollPane(table);
jp.add(tableContainer, BorderLayout.CENTER);
DefaultTableModel tm = (DefaultTableModel) table.getModel();
tm.addRow(new Object[] {"#","Player","Score","Date"});
frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.getContentPane().add(jp);
frame.pack();
frame.setVisible(true);
break;
This is my code. 这是我的代码。 When I press
R
on the keyboard, the JFrame with that JPanel inside appears but the table doesnt ( picture ). 当我按下键盘上的
R
时,会出现带有JPanel内部的JFrame,但表格没有( 图片 )。 What could I do? 我能做什么?
First thing is you haven't added column names to your table. 首先,您没有在表中添加列名。
change this 改变这一点
DefaultTableModel tm = (DefaultTableModel) table.getModel();
tm.addRow(new Object[] {"#","Player","Score","Date"});
to 至
EDIT 编辑
DefaultTableModel tm = new DefaultTableModel(new Object[] {"#","Player","Score","Date"},0);
table.setModel(tm);
and to add row 并添加行
tm.addRow(new Object[]{1,"XXX","99","2013-06-29"});
//Setting the table and Scroll Bars in jpanel //在jpanel中设置表格和滚动条
DefaultTableModel table_model = new DefaultTableModel(addressData, new String[]{"First Name", "Surname", "Home Number", "Mobile Number", "Address", "Postcode"});
JTable table = new JTable(this.table_model);
table.setBounds(130, 40, 200, 200);
jp.add(new JScrollPane(table, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.