`
newslxw
  • 浏览: 207769 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

自定义jtable单元格显示方式

 
阅读更多
自定义jtable显示方式,需要继承DefaultTableCellRenderer
然后重写
public Component getTableCellRendererComponent(JTable table, Object value,
			boolean isSelected, boolean hasFocus, int row, int column)

{
//指定用什么控件显示和显示什么值,value是table对应的model的row行column的值,如果不想显示这个值,可以在这修改,如combox就有key和text的区别,显示给用户text,但是保存到model是key,这时就可以在则根据value获取对应的text,然后显示出来
}



最后
table.setDefaultRenderer(Object.class, new MyCellRender());


例子:
public class PosParamCellRender extends DefaultTableCellRenderer 
{
	protected PosParam posParam;
	
	public PosParamCellRender()
	{
		super();
		posParam = null;
	}
	

	@Override
	public Component getTableCellRendererComponent(JTable table, Object value,
			boolean isSelected, boolean hasFocus, int row, int column)
	{
		
		if(column == 1)
		{
			PosParamModel model = (PosParamModel)table.getModel();
			posParam = model.getPosParam(row);
			posParam.setValue(value);
		//	posParam.getComponent().setOpaque(true);  
		//	posParam.getComponent().
			//posParam.getComponent().setBackground(isSelected ? table.getSelectionBackground() : new Color(255,255,200));   
			//posParam.getComponent().setForeground(isSelected ? table.getSelectionForeground() : table.getForeground()); 
			//return posParam.getComponent();
			if(posParam.getParaBean().getValueType().equals(ParamType.COMBOX))
			{
				OptionComboBox cbx = (OptionComboBox)posParam.getComponent();
				value = (String)cbx.getSelectedItem();
			}
		}
		else
		{
			posParam = null;
		}
		return super.getTableCellRendererComponent(table, value, isSelected, hasFocus,
				row, column);
	}



	@Override
	protected void setValue(Object value)
	{
		if(posParam != null)
		{
	//		posParam.setValue(value);
		}
		super.setValue(value);
	}


	
}



分享到:
评论

相关推荐

    JTable表格单元加按钮,并且响应点击事件Demo.rar

    用改写 DefaultCellEditor 和 TableCellRenderer的方法实现,主要代码: table.getColumnModel().getColumn(2).setCellEditor(new MyButtonEditor()); table.getColumnModel().getColumn(2).setCellRenderer...

    带CheckBox的JTable源代码

    1、重写JTable组件,标题带有CheckBox。 2、实现CheckBox单元格的Check状态更新标题的Check状态;改变标题CheckBox状态,改变全部单元格状态。...3、自定义JTable数据模型,提供表格数据的获取方法。

    JIDE Grids (表格)开发员技术手册

    CellStyleTable - 多样式单元格,支持每一个单元格自定义风格 JideTable -自动监听表格单元格编辑操作比如在单元格开始编辑之前或者单元格结束编辑之前),支持有效性检查、支持根据单元格内容自动调节表格的行间距...

    Java数据库查询结果的输出

     //设置单元格选择方式  jg_table.setShowVerticalLines(true);//  设置是否显示单元格间的分割线  jg_table.setShowHorizontalLines(true);  jsp=new JScrollPane(jg_table);//给表格加上滚动杠  显示...

    Java学习指南(Swing入门篇)

    本篇内容至少包含:- 基本控件的使用- 布局管理器的使用- 自定义布局- 图片的加载及使用- 对话框,及自定义对话框- 菜单和工具栏- 自定义绘图- JList 列表框的用法,以及单元格的自定义显示- JTable 表格的用法,...

    xpTable,c# xptable NET中最强,最全功能的表格控件 ,可以定制一个ListView,能够在列中插入图像、下拉框、可上下调整的数字、进度条

    由于已经有了一个Java下的背景,我将简单地基于那个JTable封装。 [功能] 全定制可视化界面 支持XP风格 轻易添加再定制的控件 可隐藏列 行、列、单元可以被Disable 每个单元、列可以有Tooltip 等等…… [XPTable...

    Infragistics Jsuite--

    我们的表格具有各种丰富的特性,包括一些高级特性,如单元格合并(非常适合于显示主/从关系),打印,图像,分类,搜索以及JSuite的编辑组件对内部单元格验证的内置支持。 Trees组件 为网站导航和Java应用程序...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例045 用数组设置JTable表格的列名与列宽 55 3.2 数组操作 57 实例046 数组的下标界限 57 实例047 按钮控件数组实现计数器界面 58 实例048 复选框控件数组 59 实例049 用数组反转字符串 60 3.3 数组排序与查询 61 ...

    疯狂JAVA讲义

    学生提问:图11.15和图11.16显示的所有按钮都紧挨在一起,如果希望像FlowLayout、GridLayout等布局管理器指定组件的间距该怎么办? 397 11.4 AWT 常用组件 398 11.4.1 基本组件 398 11.4.2 对话框 400 11.5 事件...

Global site tag (gtag.js) - Google Analytics