0

我有一个只有字段名称而没有数据的表,我想从用户的输入中输入数据,我该怎么做?

我的实际程序太长,所以这是我写在这里发布的一个小程序。

我想添加到表格中的示例如下:{“男装”,“RM 5”,输入,总计}

输入来自第一个按钮,总计来自我实际程序中的 setter getter 文件

我想使用 List 但它似乎与我的 Object[][] 订单不兼容。

我想要实现的是在用户从按钮中选择项目后生成一个订单列表。

    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;

    class test implements ActionListener
    {
private Object[][]order={   };  // I need to add data here in order to put 
                                         //in the JTable

private JFrame f;               // for 1st frame with the buttons
private JTable table;
private JScrollPane pane;
private JButton button1;    
private JFrame f2;              //pop up window after button2 
private JButton button2;
private String input;           //input when press button1

    public test()
    {

    button1=new JButton("press here first");
    button2=new JButton("press here after above");

    //first frame config

    f=new JFrame();
    f.setSize(500,500);
    f.setVisible(true);
    f.setLayout(new GridLayout(2,0));
    f.add(button1);
    f.add(button2);


    button1.addActionListener(this);
    button2.addActionListener(this);
     }

    public static void main(String args[])
{
test lo=new test(); 
}


public void actionPerformed(ActionEvent e)
    {

  if(e.getSource()==button1)    // for the first button
        {
    input=JOptionPane.showInputDialog(null,"how many do you want?");
            //user input on the quantity
        }

  if(e.getSource()==button2)
     {
    window2();
     }

    } 


public JFrame window2()         //second window config
     {
    String[] title={"item","Price","Qty","total"};
    table=new JTable(order,title);
    pane=new JScrollPane(table);

    f2=new JFrame();
    f2.setSize(500,500);
    f2.setVisible(true);
    f2.setLayout(new FlowLayout());
    f2.add(pane);
    f2.pack();

    return f2;
     }

    }
4

1 回答 1

3

您应该按如下方式创建表:

DefaultTableModel model = new DefaultTableModel(title, 0);
JTable table = new JTable( model );

这将创建一个只有标题和 0 行数据的表。

然后,当您要添加新的数据行时,您将使用:

model.addRow(...);

您可以将数据作为向量或数组添加到 DefaultTableModel。

如果要使用 List,则需要使用自定义 TableModel 模型。您可以查看List Table Model

于 2013-06-16T04:56:20.197 回答