通过GUI从用户获取信息并将它们放入JTable(JAVA)

时间:2015-01-05 19:11:45

标签: java swing

例如:

    JLabel l1, l2, l3;
    JTextField f1,f2,f3;
    JTable table;
    JButton b1,b2;

    l1 = new JLabel( "Name" );
    l2 = new JLabel( "age" );
    l3 = new JLabel( "sex" );

    f1 = new JTextField( 10 );
    f2 = new JTextField( 10 );
    f3 = new JTextField( 10 );

     b1 = new JButton( "Submit" );
     b2 = new JButton( "Next" );

    String[] column = {"Name","Age","Sex"};

    Object[][] data= {.....}; 

用户通过GUI填充数据,用户点击"下一步"并停止,直到用户点击"提交"。(或者您可以提供其他数据插入方式)

    table = new JTable(data,column);

1 个答案:

答案 0 :(得分:1)

  

用户通过GUI填写数据,用户点击"下一步"

你不能使用数组来保存数据,因为你不知道用户点击了多少时间"下一步"获取信息。

因此,您的代码应该创建一个只包含列标题的空表:

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

然后在" Next"的逻辑中按钮,您从中获取数据,然后动态地将数据行添加到表中:

model.addRow(....);

模型将被更新,模型将通知表格重新绘制。

或者,如果您希望仅在"提交"单击按钮然后您将模型添加到"提交"逻辑。