Моя проблема в том, что у меня есть JTable
с 2 векторными данными для имен данных и столбцов соответственно,
Vector<String> rowOne = new Vector<>();
rowOne.addElement("Harry");
rowOne.addElement("100414");
rowOne.addElement("21");
rowOne.addElement("239438");
rowOne.addElement("08/21/2016");
rowOne.addElement("30000");
Vector<String> rowTwo = new Vector<>();
rowTwo.addElement("Gordon");
rowTwo.addElement("34353");
rowTwo.addElement("25");
rowTwo.addElement("2538");
rowTwo.addElement("07/ 16/2016");
rowTwo.addElement("20000");
Vector<Vector> rowData = new Vector<>();
rowData.addElement(rowOne);
rowData.addElement(rowTwo);
Vector<String> columnNames = new Vector<>();
columnNames.addElement("Name");
columnNames.addElement("Cc");
columnNames.addElement("Age");
columnNames.addElement("Phone");
columnNames.addElement("Date");
columnNames.addElement("Amount");
DefaultTableModel model = new DefaultTableModel(rowData, columnNames);
table = new JTable(model);
Как мы видим, это обычный JTable
с 6 столбцами, в котором четвертый является строкой, представляющей дату.
Я попытался добавить кнопку с таким прослушивателем действий, чтобы перебрать все строки JTable в столбце 4, чтобы получить все значения даты строки, чтобы сравнить ее с текущей датой, чтобы проверить, старше ли они 30 дней.
public void actionPerformed(ActionEvent e)
{
else if(e.getActionCommand().equals("limPago"))
{
DefaultTableModel model = (DefaultTableModel)table.getModel();
int num = model.getRowCount();
for(int i = 0; i < num; i++)
{
//Right here i don't know how to identity the columns with date greater
//than 30 days and take the jtable index corresponding to that row.
}
}
Мне нужно получить строку индекса, соответствующую Object
из JTable
, которая имеет дату столбца 4 на 30 дней старше.