效果图
相关代码 展开详细说明
public class MouseHoverTable extends JFrame { Color color = new Color(232, 232, 232); JTable table; int row = 0; // 记录鼠标所移动到的行 int column = 0; // 记录鼠标所移动到的列 MouseHoverTable() { super("鼠标悬浮时更换颜色"); table = new JTable(10, 10); // 单元格边框颜色 table.setGridColor(color); // 行高与列宽 table.setRowHeight(50); TableColumnModel columnModel = table.getColumnModel(); int columnCount = columnModel.getColumnCount(); for (int i = 0; i < columnCount; i++) { TableColumn col = columnModel.getColumn(i); col.setMinWidth(50); col.setMaxWidth(50); } // 添加鼠标移动监听, 以及设置列渲染器 CellRendererAndMouseListener rendererAndListener = new CellRendererAndMouseListener(); table.addMouseMotionListener(rendererAndListener); table.setDefaultRenderer(Object.class, rendererAndListener); // 添加到内容 this.getContentPane().add(table); } public static void main(String[] args) { JFrame frame = new MouseHoverTable(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); } public class CellRendererAndMouseListener extends JLabel implements TableCellRenderer, MouseMotionListener { public CellRendererAndMouseListener() { setOpaque(true); } public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { if (MouseHoverTable.this.row == row && MouseHoverTable.this.column == column) { this.setBackground(color); } else { this.setBackground(Color.WHITE); } return this; } public void mouseMoved(MouseEvent e) { JTable table = (JTable) e.getSource(); row = table.rowAtPoint(e.getPoint()); column = table.columnAtPoint(e.getPoint()); table.repaint(); } public void mouseDragged(MouseEvent e) {} } }
相关推荐
Swing JTable组件设置单元格合并,内置Test测试类,核心API GridBagTable tasktable = new GridBagTable(model); tasktable.mergeCells(startRow, endRow, 0, 0);
Java Swing 实现 JTable 检测单元格数据变更事件的方法示例 Java Swing 中的 JTable 是一个功能强大且灵活的表格组件,广泛应用于各种桌面应用程序中。然而,在实际开发中,我们经常需要检测单元格数据的变更事件...
下面我们将深入探讨如何在`JTable`中放入多个按钮以及相关的技术细节。 首先,`JTable`默认的渲染器和编辑器无法直接支持在单元格内放置多个组件,如按钮。因此,我们需要创建一个自定义的`TableCellRenderer`来...
Swing之JTable用法
Swing之JTable的详细介绍,其基本用法及源码例子
java swing 导出Jtable里面的数据到excel,不用拷贝代码,直接粘贴代码
在Java的Swing库中,`JTable`是用于创建数据网格视图的重要组件,它允许用户以表格的形式查看和操作数据。而`JButton`则是一个常用的按钮控件,通常用于触发某些动作或事件。将`JButton`添加到`JTable`中可以为用户...
### Swing之JTable详解 #### 类层次结构图 在Swing框架中,`JTable`是构建GUI应用程序中表格的主要组件。它继承自`JComponent`类,这使得`JTable`能够支持丰富的图形用户界面功能。下面展示了`JTable`的类层次结构...
### Java Swing JTable 分页实现详解 #### 一、引言 在开发基于Java Swing的应用程序时,我们经常需要处理大量的数据展示问题。对于表格形式的数据展示,`JTable`是一个非常常用且强大的组件。然而,当数据量过大时...
在Java的Swing库中,`JTable`是用于创建二维数据展示的组件,它类似于电子表格。在处理`JTable`时,我们有时需要使其单元格内容支持自动换行,以便更好地显示长文本。标题“JTable自动换行”正是指向这个功能,即...
实现设置JTable中某些单元格的背景色
在Java的Swing库中,`JTable`是用于创建数据网格视图的重要组件,它允许用户以表格的形式展示和操作数据。`JTable`在GUI应用中非常常见,尤其适用于展示结构化数据,比如数据库记录或者报表。在这个例子中,我们将...
### 中级SWING-JTable属性详解 在Java Swing框架中,`JTable`是一个非常重要的组件,用于展示表格数据。为了更好地控制表格的表现形式及功能,`JTable`提供了多种属性设置方法。以下是对给定内容中提到的一些关键...
总的来说,合并`JTable`单元格是一个相对复杂的过程,需要对Java Swing和`JTable`的内部工作原理有深入的理解。通过自定义渲染器和模型,以及适当的事件处理,你可以实现符合需求的单元格合并效果。不过,这个过程...
在"swing中JTable的简单使用"这个主题中,我们将深入探讨如何在Java Swing应用中有效地使用JTable。 首先,JTable是javax.swing.JTable类的实例,它是JFrame或JPanel等容器中的一个组件。JTable通常与TableModel...
在Java的Swing库中,`JTable`和`JComboBox`是两个非常重要的组件,它们常被用于创建用户界面,展示数据并提供交互性。`JTable`用于展示二维表格数据,而`JComboBox`则是一种下拉选择框,可以提供多个选项供用户选择...
在java swing的开发中,需要往表格添加自定义对象,往往需要转换。此类定义了抽象类,运用了范型技术。只需继承时传入对象类型,既可以操作对象表格Model。 作者(HuaSheng) 如有不足,欢迎给我email:sheng24@vip....
在Java Swing库中,`JTable`是一个非常重要的组件,用于在GUI应用程序中展示二维数据。它是基于模型-视图-控制器(MVC)架构设计的,使得数据操作变得灵活且易于管理。本篇文章将深入探讨`JTable`如何操作单元格、行...