help me plzzzzzzzzz

import java.awt.BorderLayout;

> > import java.awt.Component;

> > import java.util.EventObject;

> >

> > import javax.swing.JFrame;

> > import javax.swing.JScrollPane;

> > import javax.swing.JTable;

> > import javax.swing.event.CellEditorListener;

> > import javax.swing.table.TableCellEditor;

> > import javax.swing.table.TableCellRenderer;

> >

> > class TableRenderer extends JFrame {

> >TableRenderer() {

> > JTable tbl = new JTable(5, 5);

> > JScrollPane scroll = new JScrollPane(tbl);

> > getContentPane().add(scroll, BorderLayout.CENTER);

> >

> > tbl.getColumnModel().getColumn(0).setCellRenderer(new

> > TblRenderer());

> > tbl.getColumnModel().getColumn(0).setCellEditor(new

> > ScrollEditor());

> > tbl.setRowHeight(50);

> >}

> >public static void main(String[] args) {

> > JFrame f = new TableRenderer();

> > f.setDefaultCloseOperation(EXIT_ON_CLOSE);

> > f.pack();

> > f.setVisible(true);

> >}

> >class TblRenderer extends JScrollPane implements TableCellRenderer {

> > TblRenderer() {

> > setViewportView(getTable());

> > }

> > public Component getTableCellRendererComponent(JTable table,

> >Object value, boolean isSelected, boolean hasFocus, int

> > row,

> >int column) {

> > return this;

> > }

> >}

> >class ScrollEditor extends JScrollPane implements TableCellEditor {

> > ScrollEditor() {

> > setViewportView(getTable());

> > }

> > public Component getTableCellEditorComponent(JTable table,

> >Object value, boolean isSelected, int row, int column) {

> > return this;

> > }

> >

> > public void cancelCellEditing() {}

> > public boolean stopCellEditing() {return true;}

> > public Object getCellEditorValue() {return null;}

> > public boolean isCellEditable(EventObject anEvent) {return true;}

> > public boolean shouldSelectCell(EventObject anEvent) {return true;}

> > public void addCellEditorListener(CellEditorListener l) {}

> > public void removeCellEditorListener(CellEditorListener l) {}

> >}

> >

> >private static JTable getTable() {

> > String header[] = { "Col1", "Col2", "Col3" };

> > Object data[][] = new Object[6][header.length];

> > for (int i = 0; i < data.length; i++) {

> > for (int j = 0; j < data.length; j++) {

> >data[j] = new Integer(i + j);

> > }

> > }

> > return new JTable(data, header);

> >}

> > }

hi,

i m using this code to create table inside cell of jtable.

i wans to add dynamic data to the jtables inside the cell of the parent jtable each having different data how can i do it plz help me.

[3305 byte] By [jamesgoslina] at [2007-11-26 23:40:48]
# 1

Use meaningfull subject descriptions. We don't want to waste time reading a questions about JTable is we know nothing about them.

If you need further help then you need to create a [url http://homepage1.nifty.com/algafield/sscce.html]Short, Self Contained, Compilable and Executable, Example Program[/url] (SSCCE) that demonstrates the incorrect behaviour, because I can't guess exactly what you are doing based on the information provided.

Don't forget to use the [url http://forum.java.sun.com/help.jspa?sec=formatting]Code Formatting Tags[/url] so the posted code retains its original formatting.

camickra at 2007-7-11 15:07:45 > top of Java-index,Desktop,Core GUI APIs...
# 2

import java.awt.BorderLayout;

import java.awt.Component;

import javax.swing.JFrame;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.table.TableCellRenderer;

import javax.swing.event.CellEditorListener;

import javax.swing.table.TableCellEditor;

import java.util.EventObject;

import java.awt.*;

import javax.swing.table.DefaultTableColumnModel;

import javax.swing.JComponent.*;

import javax.swing.table.TableColumn;

import javax.swing.table.*;

import javax.swing.border.EmptyBorder;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.table.*;

import javax.swing.border.EmptyBorder;

class Tableex extends JFrame

{

static int j=0,i=0;

int count;

JTable table=null;

String sell[]=new String[]{"Sell EUR\n1.33","Sell EUR\n2.33","Sell EUR\n3.44","SellUSD\n1.33",

"Sell EUR\n1.33","Sell EUR\n2.33","Sell EUR\n3.44","SellUSD\n1.33","Sell EUR\n1.33","Sell EUR\n2.33"};

String buy[]=new String[]{"BUY EUR\n1.22","Buy EUR\n1.33","Buy EUR\n6.55","Buy USD\n2.11","BUY EUR\n1.22","Buy EUR\n1.33","Buy EUR\n6.55","Buy USD\n2.11",

"BUY EUR\n1.22","Buy EUR\n1.33"};

String s1[]=new String[120];

String s2[]=new String[120];

/*String sellbuy[][]=new String[][] {{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},

{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},

{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},

{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},

{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},

{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"},{"Sell EUR\n1.33","BUY EUR\n1.22"}};*/

Tableex() //This is my main class for main table//

{

JTable t1=new JTable(10,3);

int height=50;

t1.setRowHeight(t1.getRowHeight()+height);

JScrollPane p=new JScrollPane(t1);

getContentPane().add(p,BorderLayout.CENTER);

for(i=0;i<3;i++)

{

t1.getColumnModel().getColumn(i).setCellRenderer(new TbiRenderer()); //here i m applyin tablecellrenderer for renderring//

count=t1.getRowCount();

//System.out.println(count);

//t1.getColumnModel().getColumn(i).setCellEditor(new ScrollEditor());

//int x=0;

for(j=0;j<count;j++)

{//here i am counting the rows in particular columns and calling constuctor for TbiRenderer class.

//t1.getColumnModel().getColumn(i).setCellRenderer(new TbiRenderer());

s1[j]=sell[j];

s2[j]=buy[j];

TbiRenderer tbi=new TbiRenderer();

//t1.setValueAt(tbi,j,i);

}

}

}

public static void main(String[] args)

{

JFrame f=new Tableex();

f.setDefaultCloseOperation(EXIT_ON_CLOSE);

f.pack();

f.setVisible(true);

}

class TbiRenderer extends JScrollPane implements TableCellRenderer

{

TbiRenderer()

{

//System.out.println("x");

DefaultTableModel dm = new DefaultTableModel()

{

public Class getColumnClass(int columnIndex)

{

return String.class;

}

};

//int x=0,y=0;

//System.out.println(i);

//System.out.println(j);

dm.setDataVector(new Object[][]{{s1,s2[j]}},new Object[]{"",""});

String sell=s1[j];

String buy=s2[j];

System.out.println(s1[j]);

System.out.println(s2[j]);

table = new JTable( dm ) {

protected JTableHeader createDefaultTableHeader()

{

return new GroupableTableHeader(columnModel);

}

};

int lines = 2;

table.setRowHeight(table.getRowHeight() * lines);

int height=40;

table.setRowHeight(table.getRowHeight()+height);

table.setDefaultRenderer(String.class, new MultiLineCellRenderer());

TableColumnModel cm = table.getColumnModel();

ColumnGroup g_2nd = new ColumnGroup("1st");

g_2nd.add(cm.getColumn(0));

g_2nd.add(cm.getColumn(1));

GroupableTableHeader header = (GroupableTableHeader)table.getTableHeader();

header.addColumnGroup(g_2nd);

header.revalidate();

//int x=table.getRowCount();

setViewportView(table);

//System.out.println(x);

}

public Component getTableCellRendererComponent(JTable table,Object value,boolean isSelected,boolean hasFocus,int j,int i)

{

System.out.println((String)value);

return this;

}

}

class ScrollEditor extends JScrollPane implements TableCellEditor

{

ScrollEditor()

{

DefaultTableModel dm = new DefaultTableModel();

dm.setDataVector(new Object[][]{{"a\na","b\nb"}},new Object[]{"",""});

JTable table = new JTable( dm ) {

protected JTableHeader createDefaultTableHeader() {

return new GroupableTableHeader(columnModel);

}

};

int lines = 1;

table.setRowHeight(table.getRowHeight() * lines);

int height=40;

table.setRowHeight(table.getRowHeight()+height);

TableColumnModel cm = table.getColumnModel();

ColumnGroup g_2nd = new ColumnGroup("1st");

g_2nd.add(cm.getColumn(0));

g_2nd.add(cm.getColumn(1));

GroupableTableHeader header = (GroupableTableHeader)table.getTableHeader();

header.addColumnGroup(g_2nd);

header.revalidate();

setViewportView(table);

}

public Component getTableCellEditorComponent(JTable table,

Object value, boolean isSelected, int row, int column)

{

return this;

}

public void cancelCellEditing() {}

public boolean stopCellEditing() {return true;}

public Object getCellEditorValue() {return null;}

public boolean isCellEditable(EventObject anEvent) {return false;}

public boolean shouldSelectCell(EventObject anEvent) {return true;}

public void addCellEditorListener(CellEditorListener l) {}

public void removeCellEditorListener(CellEditorListener l) {}

}

}

class MultiLineCellRenderer extends JTextArea implements TableCellRenderer {

public MultiLineCellRenderer() {

setLineWrap(true);

setWrapStyleWord(true);

setOpaque(true);

}

public Component getTableCellRendererComponent(JTable table, Object value,

boolean isSelected, boolean hasFocus, int row, int column) {

if (isSelected) {

setForeground(table.getSelectionForeground());

setBackground(table.getSelectionBackground());

} else {

setForeground(table.getForeground());

setBackground(table.getBackground());

}

setFont(table.getFont());

if (hasFocus) {

setBorder(UIManager.getBorder("Table.focusCellHighlightBorder"));

if (table.isCellEditable(row, column)) {

setForeground(UIManager.getColor("Table.focusCellForeground"));

setBackground(UIManager.getColor("Table.focusCellBackground"));

}

} else {

setBorder(new EmptyBorder(1, 2, 1, 2));

}

setText((value == null) ? "" : value.toString());

return this;

}}>

jamesgoslina at 2007-7-11 15:07:45 > top of Java-index,Desktop,Core GUI APIs...
# 3
What was the repost for, you still haven't listened to the suggestions given.
camickra at 2007-7-11 15:07:45 > top of Java-index,Desktop,Core GUI APIs...