How to populate change from one Table cell to more Tables?

Dear Friends:

I have following successfully running code, each can populate 1 table cell updating in ChangeTableSelectionMain1 change to another table in ChangeTableSelectionMain1 also, or populate 1 table cell in ChangeTableSelectionSub1 change to another table in ChangeTableSelectionSub1 also, But cannot populate table cell updating in ChangeTableSelectionMain1 to ChangeTableSelectionSub1, Please advice how to make populating table cell updating in ChangeTableSelectionMain1 to ChangeTableSelectionSub1 successful?

Thanks.

[1]. main code:

package com.com;

import java.awt.BorderLayout;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JSplitPane;

import java.awt.GridLayout;

publicclass ChangeTableControl1implements java.io.Serializable{

private JFrame frame;

publicstaticvoid main(String args[]){

try{

ChangeTableControl1 window =new ChangeTableControl1();

window.frame.setVisible(true);

}catch (Exception e){

e.printStackTrace();

}

}

/**

* Create the application

*/

public ChangeTableControl1(){

initialize();

}

/**

* Initialize the contents of the frame

*/

privatevoid initialize(){

frame =new JFrame();

frame.setBounds(0, 0, 1500, 675);

final ChangeTableSelectionMain1 c1 =new ChangeTableSelectionMain1();

final ChangeTableSelectionSub1 c2 =new ChangeTableSelectionSub1();

JSplitPane sp =new JSplitPane();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

final JPanel panel =new JPanel();

panel.setLayout(new GridLayout(1, 2));

frame.getContentPane().add(panel, BorderLayout.CENTER);

sp.setLeftComponent(c1);

sp.setRightComponent(c2);

sp.setResizeWeight(0.5);

panel.add(sp);// add right part

frame.addWindowListener(new WindowAdapter(){

publicvoid windowClosing(WindowEvent e){

System.exit(0);

}

});

frame.pack();

frame.setVisible(true);

}

}

[2]. ChangeTableSelectionSub1

package com.com;

import javax.swing.JTable;

import javax.swing.event.ListSelectionEvent;

import javax.swing.event.ListSelectionListener;

import javax.swing.event.TableModelEvent;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import java.awt.FlowLayout;

import javax.swing.*;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.*;

import java.awt.event.*;

import java.util.*;

import java.io.*;

import java.text.SimpleDateFormat;

import javax.swing.*;

import javax.swing.border.*;

import javax.swing.event.*;

import javax.swing.table.*;

import java.awt.BorderLayout;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JTable;

publicclass ChangeTableSelectionSub1extends JPanel{

protectedJButton bt11 =new JButton("Insert before");

protectedJButton bt22 =new JButton("Insert after");

protectedJButton bt33 =new JButton("Delete");

protected ChangeTableSelectionMain1 lm =new ChangeTableSelectionMain1();

public ChangeTableSelectionSub1(){

JPanel pnl =new JPanel();

pnl.setMinimumSize(new Dimension(200,600));

//pnl.setPreferredSize(new Dimension(800,600));

final JTable tbl1 =new JTable(lm.data,lm.columnNames);

final JTable tbl2 =new JTable(lm.data,lm.columnNames);

JScrollPane scr1 =new JScrollPane(tbl1);

JScrollPane scr2 =new JScrollPane(tbl2);

lm.tbl1.getSelectionModel().addListSelectionListener(new ListSelectionListener()

{

publicvoid valueChanged(ListSelectionEvent lse)

{

if (lm.tbl1.getSelectedRow()!=-1)

tbl2.clearSelection();

System.out.print("[1]. LongguChangeTableSelectionSub get msg from LongguChangeTableSelectionMain");

tbl1.clearSelection();

revalidate();

}

}

);

lm.tbl2.getSelectionModel().addListSelectionListener(new ListSelectionListener()

{

publicvoid valueChanged(ListSelectionEvent lse)

{

if (tbl2.getSelectedRow()!=-1)

tbl1.clearSelection();

System.out.print("[2]. LongguChangeTableSelectionSub get msg from LongguChangeTableSelectionMain");

revalidate();

}

}

);

pnl.setLayout(new FlowLayout());

pnl.add(scr1);

pnl.add(scr2);

this.add(pnl);

}

publicstaticvoid main(String []args)

{

ChangeTableSelectionSub1 c =new ChangeTableSelectionSub1();

JFrame frm =new JFrame();

frm.setSize(920,400);

frm.getContentPane().add(c);

frm.setVisible(true);

}

}

[3]. ChangeTableSelectionMain1

package com.com;

import javax.swing.JTable;

import javax.swing.event.ListSelectionEvent;

import javax.swing.event.ListSelectionListener;

import javax.swing.JScrollPane;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import java.awt.FlowLayout;

import javax.swing.*;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.*;

import javax.swing.*;

publicclass ChangeTableSelectionMain1extends JPanel{

protectedJButton bt11 =new JButton("Insert before");

protectedJButton bt22 =new JButton("Insert after");

protectedJButton bt33 =new JButton("Delete");

protected String[] columnNames ={"First Name",

"Last Name",

"Sport",

"# of Years",

"Vegetarian"};

protected Object[][] data ={

{"Mary","Campione","Snowboarding",new Integer(5),new Boolean(false)},

{"Alison","Huml","Rowing",new Integer(3),new Boolean(true)},

{"Kathy","Walrath","Knitting",new Integer(2),new Boolean(false)},

{"Sharon","Zakhour","Speed reading",new Integer(20),new Boolean(true)},

{"Philip","Milne","Pool",new Integer(10),new Boolean(false)}};

protected JTable tbl1 =new JTable(data,columnNames);

protected JTable tbl2 =new JTable(data,columnNames);

public ChangeTableSelectionMain1(){

JPanel pnl =new JPanel();

pnl.setMinimumSize(new Dimension(200,600));

//pnl.setPreferredSize(new Dimension(800,600));

JScrollPane scr1 =new JScrollPane(tbl1);

JScrollPane scr2 =new JScrollPane(tbl2);

tbl1.getSelectionModel().addListSelectionListener(new ListSelectionListener()

{

publicvoid valueChanged(ListSelectionEvent lse)

{

if (tbl1.getSelectedRow()!=-1)

tbl2.clearSelection();

if (lse.getValueIsAdjusting())

System.out.println("Selected from " + lse.getFirstIndex() +" to " + lse.getLastIndex());

revalidate();

}

}

);

tbl2.getSelectionModel().addListSelectionListener(new ListSelectionListener()

{

publicvoid valueChanged(ListSelectionEvent lse)

{

if (tbl2.getSelectedRow()!=-1)

tbl1.clearSelection();

revalidate();

}

}

);

pnl.setLayout(new FlowLayout());

pnl.add(scr1);

pnl.add(scr2);

this.add(pnl);

}

publicstaticvoid main(String []args)

{

ChangeTableSelectionMain1 c =new ChangeTableSelectionMain1();

JFrame frm =new JFrame();

frm.setSize(920,400);

frm.getContentPane().add(c);

frm.setVisible(true);

}

}

Message was edited by:

sunnymanman

[15995 byte] By [sunnymanmana] at [2007-11-26 21:44:39]
# 1

I have following successfully running code, each can populate 1 table cell updating in ChangeTableSelectionMain1 change to another table in ChangeTableSelectionMain1 also, or populate 1 table cell in ChangeTableSelectionSub1 change to another table in ChangeTableSelectionSub1 also, But cannot populate table cell updating in ChangeTableSelectionMain1 to ChangeTableSelectionSub1, Please advice how to make populating table cell updating in ChangeTableSelectionMain1 to ChangeTableSelectionSub1 successful?

My brain hurts, does yours?

itchyscratchya at 2007-7-10 3:32:39 > top of Java-index,Desktop,Core GUI APIs...
# 2

No idea what you are asking. I gave you eamples of sharing a TableModel and how to use a TableModelListener in your last posting. I see no code that resembles either example.

The only code I see here is code related to selections of a row. So if you want to keep these in sync, then just share the selection model (the same concept as sharing the TableModel).

This posting has an example:

http://forum.java.sun.com/thread.jspa?forumID=57&threadID=608333

camickra at 2007-7-10 3:32:39 > top of Java-index,Desktop,Core GUI APIs...
# 3
sorry, it should be executable code, not successful codeThanks for advice
sunnymanmana at 2007-7-10 3:32:39 > top of Java-index,Desktop,Core GUI APIs...
# 4
camickr, really thanks so much, your suugestion help solve my problem. highly appreciate
sunnymanmana at 2007-7-10 3:32:39 > top of Java-index,Desktop,Core GUI APIs...