There may be a lot of ways to put something like this together. In general it is better to have only one JFrame and to use JDialogs for additional top–level containers.
class Frame1
JTable table
Frame1() {
table.addMouselistener(listener);
show table in frame
}
private MouseListener listener = new MouseAdapter() {
public void mousePressed(MouseEvent e) {
Point p = e.getPoint
int row = table.rowAtPoint(p);
int col = table.columnAtPoint(p);
openDialog(row, col);
}
};
private void openDialog(int row, int col) {
JTable localTable = new JTable
localTable.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
if(e.getClickCount == 2) {
int row = localTable.getRowAtPoint(e.getPoint())
collect row data from localTable
set data in table
}
}
));
populate table with data base data for row/col
show table in JDialog/JFrame
}
}