有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在JTable上以逗号显示值

我在Netbeans的面板上添加了一个JTable

我在面板上也有一些文本字段,现在我试图从文本字段中获取所有数据,并将其放在JTable。我已经编写了代码,数据正在显示,但它不是表的格式:它类似于逗号等

请问,你能告诉我哪里出了错,为什么不是桌子的形状吗

这是一段代码:

    Vector headings=new Vector();
    Vector rows=new Vector();

    headings.add("Item No");
    headings.add("Item Name");
    headings.add("Stock");
    headings.add("Quantity");
    headings.add("Purchase Price");
    headings.add("Unit");
    headings.add("Amount");

    DefaultTableModel dataModel=new DefaultTableModel();
    dataModel.addColumn(headings);

    Vector row=new Vector();

    row.add(this.itemIdTextField.getText());
    row.add(this.itemNameTextField.getText());
    row.add(this.stockTextField.getText());
    row.add(this.quantityTextField.getText());
    row.add(this.purchasePriceTextField.getText());
    row.add(this.unitTextField.getText());
    row.add(this.amountTextField.getText());

    rows.add(row);
    dataModel.addRow(rows);

    this.purchaseTable.setModel(dataModel);

This image shows the output of this program


共 (1) 个答案

  1. # 1 楼答案

    could you tell me where I am making mistake and why it is not in the shape of table?

    addRow(...)方法用于向模型中添加一行数据,而不是向量向量

    所以你不需要“行”向量,代码应该是:

    //rows.add(row);
    //dataModel.addRow(rows);
    dataModel.addRow( row );
    

    创建DefaultTableModel时,应该使用:

    //DefaultTableModel dataModel=new DefaultTableModel();
    DefaultTableModel dataModel=new DefaultTableModel(headings, 0);
    

    或者,如果您真的想创建向量向量,那么您需要先创建列和数据向量,然后使用以下方法创建JTable:

    JTable table = new JTable(rows, headings);
    

    也可以先创建DefaultTableModel:

    DefaultTableModel model = new DefaultTableModel(rows, headings);
    JTable table = new JTable( model );