Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.gui > #1373 > unrolled thread
| Started by | "martinmoore" <martinmoore@THRWHITE.remove-dii-this> |
|---|---|
| First post | 2011-04-27 15:32 +0000 |
| Last post | 2011-04-27 15:33 +0000 |
| Articles | 2 — 2 participants |
Back to article view | Back to comp.lang.java.gui
help me regarding jtable "martinmoore" <martinmoore@THRWHITE.remove-dii-this> - 2011-04-27 15:32 +0000
Re: help me regarding jta "Marc" <marc@THRWHITE.remove-dii-this> - 2011-04-27 15:33 +0000
| From | "martinmoore" <martinmoore@THRWHITE.remove-dii-this> |
|---|---|
| Date | 2011-04-27 15:32 +0000 |
| Subject | help me regarding jtable |
| Message-ID | <1175530519.212752.171130@y80g2000hsf.googlegroups.com> |
To: comp.lang.java.gui
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
{
Tableex()
{
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(int i=0;i<3;i++)
{
t1.getColumnModel().getColumn(i).setCellRenderer(new TbiRenderer());
t1.getColumnModel().getColumn(i).setCellEditor(new ScrollEditor());
int count=t1.getRowCount();
for(int j=0;j<count;j++)
{
t1.getColumnModel().getColumn(i).setCellRenderer(new
TbiRenderer());
t1.getColumnModel().getColumn(i).setCellEditor(new ScrollEditor());
}
}
}
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()
{
DefaultTableModel dm = new DefaultTableModel()
{
public Class getColumnClass(int columnIndex)
{
return String.class;
}
};
dm.setDataVector(new Object[][]{{"a\na","b\nb"}},new Object[]
{"",""});
JTable 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();
setViewportView(table);
}
public Component getTableCellRendererComponent( JTable table,Object
value,boolean isSelected,boolean hasFocus,int row,int column)
{
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;
}
}
i m using this code to generate jtable inside the cell of another
jtable my problem is that i wanst to add different datas dynamically
into the all jtables .plz help me soon.
---
* Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet!
--- Synchronet 3.15a-Win32 NewsLink 1.92
Time Warp of the Future BBS - telnet://time.synchro.net:24
[toc] | [next] | [standalone]
| From | "Marc" <marc@THRWHITE.remove-dii-this> |
|---|---|
| Date | 2011-04-27 15:33 +0000 |
| Subject | Re: help me regarding jta |
| Message-ID | <1176376347.464946.210390@d57g2000hsg.googlegroups.com> |
| In reply to | #1373 |
To: comp.lang.java.gui Hi, You can find some code to embed a jtable inside another jtable in an article I recently published. There you will see how to create the different data models that will give the dynamic information to your tables. You can find it here: http://blog.marcnuri.com/blog/default/2007/04/04/Displaying-a-jTable-inside-another-jTable-JTable-cellRenderer --- * Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet! --- Synchronet 3.15a-Win32 NewsLink 1.92 Time Warp of the Future BBS - telnet://time.synchro.net:24
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.java.gui
csiph-web