高分求助:关于自定义Table控件的问题!在线等待。。。 这里肯定能找到你要的东西:http://www2.gol.com/users/tame/swing/examples/SwingExamples.html 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那里我知道。里面有些不全,而且绝大部分都是在开发具体例子时书写的代码,不能称为是具有这些功能的Table控件,只能称为实现了这一功能而已。sigh~~~~不过还是谢谢请继续关注================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。 ★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! ★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ● 可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zipHttp://www.ChinaOK.net/csdn/csdn.rarHttp://www.ChinaOK.net/csdn/csdn.exe [自解压] 我觉得你实现一个columnmodel比较好,来控制列。http://www2.gol.com/users/tame/swing/examples/SwingExamples.html上面有详细的code 一个columnmodel class ,一个tableHeader class看看以下代码 /* our custom column model */ private class YourTableColumnModel extends DefaultTableColumnModel { private Hashtable hiddenColumns = null; public YourTableColumnModel() { super(); this.hiddenColumns = new Hashtable(); } public void setColumnHidden(int tcNdx, boolean hide) { TableColumn tc = YourTable.this.getColumn(tcNdx, true); if (tc != null) { if (!hide) { this.hiddenColumns.remove(tc); } else if (!this.hiddenColumns.containsKey(tc)) { this.hiddenColumns.put(tc, new HiddenTableColumn(tc)); } super.totalColumnWidth = -1; // 'super.invalidateWidthCache()' this.fireColumnMarginChanged(); } } public boolean isColumnHidden(int n) { TableColumn tc = this.getColumn(n, false); return (tc != null)? (tc instanceof HiddenTableColumn) : true; // a non-existent column is 'hidden' } public TableColumn getColumn(int ndx) { return this.getColumn(ndx, false); } public TableColumn getColumn(int ndx, boolean realColumn) { TableColumn tc = super.getColumn(ndx); if (realColumn) { return tc; } else { Object htc = this.hiddenColumns.get(tc); return (htc != null)? (TableColumn)htc : tc; } } public Enumeration getColumns() { Enumeration enum = super.getColumns(); if (!this.hiddenColumns.isEmpty()) { Vector v = new Vector(); for (;enum.hasMoreElements();) { Object tc = enum.nextElement(); Object htc = this.hiddenColumns.get(tc); v.add((htc != null)? htc : tc); } enum = v.elements(); } return enum; } } /* proxy column for actual columns which have been hidden */ private class HiddenTableColumn extends TableColumn { private TableColumn realColumn = null; public HiddenTableColumn(TableColumn tc) { super(tc.getModelIndex(), 0); this.setMinWidth(0); this.setMaxWidth(0); this.setResizable(false); this.realColumn = tc; } public TableColumn getRealColumn() { return this.realColumn; } } /* ------------------------------------------------------------------------- ** custom JTableHeader to enable Column title tooltips */ protected JTableHeader createDefaultTableHeader() { return new YourTableHeader(super.columnModel); } private class YourTableHeader extends JTableHeader { public YourTableHeader() { this(null); this.setReorderingAllowed(false); } public YourTableHeader(TableColumnModel cm) { super(cm); this.setReorderingAllowed(false); } public String getToolTipText(MouseEvent me) { String tip = null; // XXX - ideally we would only display the column title as a // tooltip if part of the title has been scrunched out of view. int c = super.columnModel.getColumnIndexAtX(me.getPoint().x); if ((c >= 0) && (c != getDescriptionColumn())) { Object v = super.columnModel.getColumn(c).getHeaderValue(); if (v instanceof String) { tip = (String)v; } } return (tip != null)? tip : super.getToolTipText(me); } } http://www2.gol.com/users/tame/swing/examples/SwingExamples.html有好多运行有错误!!!谁有正确的代码,我加上2百分!!我的email:[email protected]================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。 ★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! ★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ● 可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zipHttp://www.ChinaOK.net/csdn/csdn.rarHttp://www.ChinaOK.net/csdn/csdn.exe [自解压] 请教一下关于用jdic做的浏览器打开新页面的问题 一道匹配算法题,求解 新手疑问:为什么能把一个实现了某个接口的类的实力存放在这个接口的变量中? java反射问题 java里面运算符只重载了"+"吗? 请教如何绘制函数曲线(没分了,以后补!!) 问一个暴简单的问题。有关java的package参数的 立刻就给100分关于select数据后在jtable上显示 各位大虾,如何设置jdk的PATH 【新手】 多线程的一个问题 初学者请教,谢谢 我用asp.net做一个聊天室,各位有没有好的页面刷新办法?
sigh~~~~
不过还是谢谢
请继续关注
================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
http://www2.gol.com/users/tame/swing/examples/SwingExamples.html上面有详细的code
看看以下代码 /* our custom column model */
private class YourTableColumnModel
extends DefaultTableColumnModel
{
private Hashtable hiddenColumns = null;
public YourTableColumnModel() {
super();
this.hiddenColumns = new Hashtable();
}
public void setColumnHidden(int tcNdx, boolean hide) {
TableColumn tc = YourTable.this.getColumn(tcNdx, true);
if (tc != null) {
if (!hide) {
this.hiddenColumns.remove(tc);
} else
if (!this.hiddenColumns.containsKey(tc)) {
this.hiddenColumns.put(tc, new HiddenTableColumn(tc));
}
super.totalColumnWidth = -1; // 'super.invalidateWidthCache()'
this.fireColumnMarginChanged();
}
}
public boolean isColumnHidden(int n) {
TableColumn tc = this.getColumn(n, false);
return (tc != null)?
(tc instanceof HiddenTableColumn) :
true; // a non-existent column is 'hidden'
}
public TableColumn getColumn(int ndx) {
return this.getColumn(ndx, false);
}
public TableColumn getColumn(int ndx, boolean realColumn) {
TableColumn tc = super.getColumn(ndx);
if (realColumn) {
return tc;
} else {
Object htc = this.hiddenColumns.get(tc);
return (htc != null)? (TableColumn)htc : tc;
}
}
public Enumeration getColumns() {
Enumeration enum = super.getColumns();
if (!this.hiddenColumns.isEmpty()) {
Vector v = new Vector();
for (;enum.hasMoreElements();) {
Object tc = enum.nextElement();
Object htc = this.hiddenColumns.get(tc);
v.add((htc != null)? htc : tc);
}
enum = v.elements();
}
return enum;
}
} /* proxy column for actual columns which have been hidden */
private class HiddenTableColumn
extends TableColumn
{
private TableColumn realColumn = null;
public HiddenTableColumn(TableColumn tc) {
super(tc.getModelIndex(), 0);
this.setMinWidth(0);
this.setMaxWidth(0);
this.setResizable(false);
this.realColumn = tc;
}
public TableColumn getRealColumn() {
return this.realColumn;
}
} /* -------------------------------------------------------------------------
** custom JTableHeader to enable Column title tooltips
*/ protected JTableHeader createDefaultTableHeader()
{
return new YourTableHeader(super.columnModel);
} private class YourTableHeader
extends JTableHeader
{
public YourTableHeader() {
this(null);
this.setReorderingAllowed(false);
}
public YourTableHeader(TableColumnModel cm) {
super(cm);
this.setReorderingAllowed(false);
}
public String getToolTipText(MouseEvent me) {
String tip = null;
// XXX - ideally we would only display the column title as a
// tooltip if part of the title has been scrunched out of view.
int c = super.columnModel.getColumnIndexAtX(me.getPoint().x);
if ((c >= 0) && (c != getDescriptionColumn())) {
Object v = super.columnModel.getColumn(c).getHeaderValue();
if (v instanceof String) {
tip = (String)v;
}
}
return (tip != null)? tip : super.getToolTipText(me);
}
}
有好多运行有错误!!!
谁有正确的代码,我加上2百分!!
我的email:[email protected]================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]