import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
public class RowSelectionExample extends JFrame {
private JTable table;
public RowSelectionExample() {
String[][] data = {{"1", "Apple"}, {"2", "Banana"}, {"3", "Orange"}};
String[] columnNames = {"ID", "Fruit"};
table = new JTable(data, columnNames);
ListSelectionModel selectionModel = table.getSelectionModel();
selectionModel.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
int selectedRow = table.getSelectedRow();
System.out.println("Selected Row: " + id + ", " + fruit);
}
}
});
JScrollPane scrollPane = new JScrollPane(table);
getContentPane().add(scrollPane);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
public static void main(String[] args) {
new RowSelectionExample();
}
}
import javax.swing.*;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.DefaultTableModel;
public class DataListenerExample extends JFrame {
private JTable table;
private DefaultTableModel tableModel;
public DataListenerExample() {
tableModel = new DefaultTableModel(new String[]{"ID", "Fruit"}, 0);
table = new JTable(tableModel);
tableModel.addTableModelListener(new TableModelListener() {
@Override
public void tableChanged(TableModelEvent e) {
int row = e.getFirstRow();
System.out.println("Inserted data: " + id + ", " + fruit);
}
}
});
getContentPane().add(new JScrollPane(table));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
public void addData(String id, String fruit) {
tableModel.addRow(new String[]{id, fruit});
}
public static void main(String[] args) {
DataListenerExample frame = new DataListenerExample();
frame.addData("4", "Grapes");
frame.addData("5", "Mango");
}
}