`

Swing JTable的一点总结

阅读更多
1、表格中有密码字段
columnModel.getColumn(0).setCellEditor(new DefaultCellEditor(passwordField));

这样只保证编辑状态下的遮盖符,不编辑就会显示明文。而给这一列再设一个DefaultTableCellRenderer,重写其方法
		columnModel.getColumn(0).setCellRenderer(new DefaultTableCellRenderer() {
			@Override
			protected void setValue(Object value) {
				String echoStr = null;
				if (value == null || value.toString().length() == 0) {
					echoStr = null;
				} else {
					char[] echoChar = new char[value.toString().length()];
					Arrays.fill(echoChar, passwordField.getEchoChar());
					echoStr = new String(echoChar);
				}
				super.setValue(echoStr);
			}
		});
,这样就可以达到编辑与非编辑状态下的密码显示了。
2、有一个问题困扰我很久,就是编辑一个单元格,输入内容后,如果此时不小心点击了表格头(不是表格体),就会出现输入的内容消失掉了。今天决定跟一下,发现原来之前添加鼠标事件只监控conClick方法,其实JTable内部是监听的mousePressed方法,并调用table.getCellEditor().stopCellEditing();方法。
		table.getTableHeader().addMouseListener(new MouseAdapter() {
			@Override
			public void mousePressed(MouseEvent e) {
				if (table.getCellEditor() != null) {
					table.getCellEditor().stopCellEditing();
				}
				super.mousePressed(e);
			}
		});

3、空表格占用整个scrollpane,即默认JTable只显示有内容的行列,也就类似于它的ViewPort只显示好么多,这样显示有点不协调,在JDK6里有一个setFillsViewportHeight()方法,可以实现这一点,但是早期版本没有这个方法,要重写
		table = new JTable(myTableModel) {
			public boolean getScrollableTracksViewportHeight() {
				return getParent() instanceof JViewport
						&& (((JViewport) getParent()).getHeight() > getPreferredSize().height);
			}
		};


分享到:
评论

相关推荐

    Java Swing JTable分页

    ### Java Swing JTable 分页实现详解 #### 一、引言 在开发基于Java Swing的应用程序时,我们经常需要处理大量的数据展示问题。对于表格形式的数据展示,`JTable`是一个非常常用且强大的组件。然而,当数据量过大时...

    Swing JTable组件设置单元格合并

    Swing JTable组件设置单元格合并,内置Test测试类,核心API GridBagTable tasktable = new GridBagTable(model); tasktable.mergeCells(startRow, endRow, 0, 0);

    java Swing Jtable 下拉动态加载数据

    JTable实现下拉动态加载数据,滑动动态加载数据,纯原生态java。

    java swing 导出Jtable里面的数据到excel

    java swing 导出Jtable里面的数据到excel,不用拷贝代码,直接粘贴代码

    swing Jtable使用checkbox

    swing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing ...

    Swing之JTable的详细介绍

    总结来说,JTable是Swing中用于构建表格界面的强大组件,它提供了丰富的功能和灵活性,可以方便地展示、编辑和管理数据。通过理解和熟练使用JTable,开发者能够创建出具有复杂数据展示和交互功能的桌面应用。

    Swing JTable 常用属性

    Swing JTable 常用属性详解 Swing JTable 是 Java 中一个常用的表格控件,用于显示和编辑表格数据。在实际开发中,经常需要对 JTable 进行各种设置和操作,这篇文章将详细介绍 JTable 的常用属性和方法。 一、创建...

    用Java Swing Jtable做的日历

    用Java Swing Jtable做的日历

    Java Swing高级空件JTable的用法

    Java Swing高级空件JTable的用法 Java Swing中的JTable组件是用于显示和编辑数据的表格控件。它是Swing中最复杂和强大的组件之一,具有许多高级功能和灵活的配置选项。下面将详细介绍JTable的用法和相关知识点。 1...

    Swing中JTABLE中添加JBUTTON控件

    在Java的Swing库中,`JTable`是用于创建数据网格视图的重要组件,它允许用户以表格的形式查看和操作数据。而`JButton`则是一个常用的按钮控件,通常用于触发某些动作或事件。将`JButton`添加到`JTable`中可以为用户...

    Java Swing实现JTable检测单元格数据变更事件的方法示例

    Java Swing 实现 JTable 检测单元格数据变更事件的方法示例 Java Swing 中的 JTable 是一个功能强大且灵活的表格组件,广泛应用于各种桌面应用程序中。然而,在实际开发中,我们经常需要检测单元格数据的变更事件...

    Swing之JTable用法

    Swing之JTable用法

    Swing之JTable+JComboBox的详细介绍[zone yan]

    在Java的Swing库中,`JTable`和`JComboBox`是两个非常重要的组件,它们常被用于创建用户界面,展示数据并提供交互性。`JTable`用于展示二维表格数据,而`JComboBox`则是一种下拉选择框,可以提供多个选项供用户选择...

    Swing之JTable详解

    ### Swing之JTable详解 #### 类层次结构图 在Swing框架中,`JTable`是构建GUI应用程序中表格的主要组件。它继承自`JComponent`类,这使得`JTable`能够支持丰富的图形用户界面功能。下面展示了`JTable`的类层次结构...

    Jtable 中放入多个按钮

    在Java Swing库中,`JTable`是一个非常重要的组件,用于展示二维数据表格。当我们需要在`JTable`中实现更复杂的交互,比如在一个单元格内放置多个按钮时,这通常涉及到自定义`TableCellRenderer`和`TableCellEditor`...

    共享一个Swing JTable组件的CheckBox管理类

    在Java的Swing库中,JTable是一个非常重要的组件,用于展示二维数据表格。它提供了丰富的功能,包括数据编辑、排序、筛选等。在实际应用中,我们有时需要在JTable的列中添加复选框(CheckBox)来实现多选功能。本篇...

    swing表格分页控件封装

    java swing表格分页控件封装,有利于在开发中节约时间

    jtable锁定行列

    封装JTable同时锁定多行多列效果,通过多层布局实现,不需要多个数据集,使用简单,不用对现有代码做改动。

    swing jtable 合并

    当我们谈论“Swing JTable 合并”,通常是指在`JTable`中合并单元格,以实现更复杂的布局或者展示具有汇总信息的表格。 在`JTable`中,合并单元格涉及到两个主要方面:行合并和列合并。行合并通常用于显示具有多个...

Global site tag (gtag.js) - Google Analytics