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

