比较JTable中的单元格值及其列类型

时间:2014-11-06 08:50:19

标签: java swing

我正在尝试用Java设计一个应用程序,用于生成单元测试用例(最准确的是Junit测试类)。现在我有一个表来输入特定目标方法的测试用例。列是TestMethodName,参数列表(目标方法中n个参数的n列)和预期结果。

假设我有一个目标方法 public void sum(int,int)

表格中的列将是 的 TestMethodName,INT,INT,ExpectedResult

现在我想要的是验证具有相应列类型的特定单元格(TestMethodName,Expected Result除外)。我已经尝试检查null值(空)单元格,它的工作正常。我现在正在尝试的是类型验证。

我正在获取列名称(来自 Method.getParameterType()的数据类型)。 这是我的示例屏幕截图: enter image description here

当我点击“生成”按钮时,我想要这个验证。我的“生成”按钮的动作监听器如下:

generate.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent arg0) {
            // TODO Auto-generated method stub
            TableData td = new TableData(table, projObj);

            DefaultTableModel model = (DefaultTableModel) table.getModel();
            for (int i = 0; i < rowData.length; i++)

                for (int j = 0; j < colData.length; j++)

                {
                    Object obj = model.getValueAt(i, j);

                    Object obj1 = model.getValueAt(i, j).getClass()
                            .getSimpleName();
                    Object obj2 = model.getColumnName(j);
                    if ((obj.equals("")) || (obj.equals(null))) {
                        JOptionPane.showMessageDialog(null,
                                "Please enter the field", "Error",
                                JOptionPane.ERROR_MESSAGE);
                        break;
                    }

                    else {
                        continue;
                    }
                }
            JOptionPane.showMessageDialog(null, "Successfully Generated");
        }
    });

我试图使用 model.getColumnName()。有了这个,我只得到数据类型(int或boolean),但我不知道如何将它与列中的单元格值进行比较。

请帮助我。

0 个答案:

没有答案