效果图
相关代码 展开详细说明
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) {} } }
相关推荐
主要介绍了Java Swing实现JTable检测单元格数据变更事件的方法,结合完整实例形式分析了Swing实现JTable检测单元格数据变更事件过程中出现的问题与相关解决方法,需要的朋友可以参考下
JTable 在一个单元格放入多个按钮,
Swing之JTable用法
Swing之JTable的详细介绍,其基本用法及源码例子
java swing 导出Jtable里面的数据到excel,不用拷贝代码,直接粘贴代码
网上下载的swing的jtable合并单元格,单元格设置字体,大小,背景和前景色
Swing之JTable详解 类层次结构图: java.lang.Object --java.awt.Component --java.awt.Container --javax.swing.JComponent --javax.swing.JTabel
中级SWING-J中级中级SWING-JTable属性SWING-JTable属性Table属性
swing 中JTABLE中添加控件的例子 可以引申出添加很多控件
Java Swing JTable分页!JAVA源码!
Swing JTable组件设置单元格合并,内置Test测试类,核心API GridBagTable tasktable = new GridBagTable(model); tasktable.mergeCells(startRow, endRow, 0, 0);
Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性
在java swing的开发中,需要往表格添加自定义对象,往往需要转换。此类定义了抽象类,运用了范型技术。只需继承时传入对象类型,既可以操作对象表格Model。 作者(HuaSheng) 如有不足,欢迎给我email:sheng24@vip....
JTable的自动换行。挺好用的。里面还可以设置字体大小。分享一下。
文件主要内容是Java Swing中JTable的常用功能的应用
JTable实现下拉动态加载数据,滑动动态加载数据,纯原生态java。
类中使用JTable 实现了对JTable中行级的增删改 JFrame为自主布局,设置了背景图片以及窗口图标 有详细注释 例如: TableModel tableModel = jTable1.getModel(); DefaultTableModel dtm = (DefaultTableModel) ...
swing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing ...