简体   繁体   English

在JPanel中创建JTable并添加行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM