`
newslxw
  • 浏览: 212204 次
  • 性别: 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自动换行

    在处理`JTable`时,我们有时需要使其单元格内容支持自动换行,以便更好地显示长文本。标题“JTable自动换行”正是指向这个功能,即如何在`JTable`的单元格内实现文本的自动换行。 默认情况下,`JTable`的单元格使用...

    JTable 操作单元格 行 列

    4. **单元格格式化**:使用`DefaultTableCellRenderer`可以定制单元格的显示样式,包括字体、颜色、对齐方式等。 5. **单元格编辑**:`JTable`支持单元格编辑,默认使用`DefaultCellEditor`。可以通过设置自定义的`...

    JTable合并单元格

    当你需要在`JTable`中实现特定的布局或者展示特殊格式的数据时,可能会遇到需要合并单元格的需求。例如,为了创建一个标题行或列,或者在某些情况下合并具有相同数据的单元格以减少重复,合并单元格就显得尤为重要。...

    Jtable 中放入多个按钮

    当我们需要在`JTable`中实现更复杂的交互,比如在一个单元格内放置多个按钮时,这通常涉及到自定义`TableCellRenderer`和`TableCellEditor`。下面我们将深入探讨如何在`JTable`中放入多个按钮以及相关的技术细节。 ...

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

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

    JTable使用自定义数据类型示例工程

    在这个特定的示例工程中,我们探讨了如何在`JTable`中使用自定义数据类型,特别是将Boolean类型的数据呈现为Checkbox的形式,同时根据Checkbox的勾选状态来改变单元格的背景颜色。这涉及到`TableCellRenderer`和`...

    jtable中放多个Button.rar

    在Java的Swing库中,...记住,自定义Renderer是Swing中增强JTable功能的一种强大方式,允许你在单元格内放置任何类型的组件,不仅仅是按钮。熟练掌握这一技巧,能让你的Java Swing应用具有更高的定制性和用户体验。

    有JTABLE控件的自定义COMBOBOX

    总的来说,自定义COMBOBOX与JTABLE结合是一种创新的UI设计方式,它允许开发者根据需求创造出更复杂、更具有交互性的组件。通过这种方式,我们可以为用户提供更加直观且易于操作的界面,提升软件的用户体验。在实际...

    复杂JTable-跨列表头

    3. **TableHeaderRenderer**: 这是自定义的表头单元格渲染器,用于控制合并列头的显示样式,比如字体、颜色、背景等。在Swing中,每个组件的显示都依赖于其对应的渲染器。 4. **GroupableTableHeaderTest.java**: ...

    JTable添加CheckBox

    `JTable`依赖于`TableModel`来获取和设置单元格的值。在这个例子中,我们需要创建一个自定义的`TableModel`,以便支持`CheckBox`作为单元格的视图。这通常意味着我们需要重写`getValueAt()`和`setValueAt()`方法,以...

    带CheckBox的JTable源代码

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

    Swing中JTABLE中添加JBUTTON控件

    要在`JTable`的单元格中插入`JButton`,我们通常需要创建一个自定义的`TableCellRenderer`和`TableCellEditor`。 1. **自定义`TableCellRenderer`**:渲染器决定单元格在视图中的外观。我们可以通过继承`...

    java jtable

    2. 编辑能力:默认情况下,JTable支持单元格编辑,用户可以直接在表格中修改数据。 3. 行列操作:添加、删除、移动行和列,以及调整列宽。 4. 事件处理:通过注册TableCellEditor和TableCellRenderer,可以自定义...

    java JTable

    在这个场景中,"只是把model加到了MyTable里面"描述的是一个自定义的`JTable`实现,其中可能将`TableModel`集成到`MyTable`类中,以自定义数据的显示和管理方式。 `TableModel`是`JTable`的数据源,它定义了如何...

    一个复杂的JTable(转)

    4. 自定义列头:改变列头的显示方式,如添加下拉菜单,允许用户选择不同的排序或过滤方式。 5. 表格样式:可以自定义单元格的背景色、字体、边框等,使表格更加美观易读。 在提供的链接中,博主可能详细解释了如何...

    jtable-弄了我一整天

    5. **渲染**:单元格的显示方式可以自定义,通过TableCellRenderer实现。 6. **事件处理**:监听单元格的编辑、表格的选择变化和模型更新等事件。 7. **表格工具提示**:为单元格设置自定义的工具提示。 8. **多线程...

    JTable实例大全

    在`JTable`中合并单元格意味着将多个单元格作为一个单元进行显示。这通常通过自定义`TableCellRenderer`实现,重写`getTableCellRendererComponent`方法,使相邻单元格具有相同的渲染效果。 4. **事件处理**: `...

    jTable的使用

    2. **渲染与编辑器**:可以使用`TableCellRenderer`和`TableCellEditor`来定制单元格的显示和编辑方式,例如添加颜色、图标或者下拉列表。 3. **分页与数据加载**:对于大量数据,可以实现分页加载,仅加载当前视图...

    JTable的初步编程

    你还可以自定义单元格渲染器和编辑器,以实现特定的数据显示和编辑行为。 在`TestJTable_Upupsky`项目中,可能包含了演示`JTable`基本用法的示例代码。通过阅读和运行这些代码,你可以更深入地理解`JTable`的工作...

    swing 合并单元格的表格

    首先,`CombineTableUI`可能是自定义的表格UI(用户界面)类,用于替换默认的JTable UI,以支持单元格的合并。在Swing中,可以通过继承`javax.swing.plaf.TableUI`并覆盖其方法来定制表格的行为,例如渲染、布局和...

Global site tag (gtag.js) - Google Analytics