首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Swing —— JTable鼠标移入改换单元格颜色

2013-12-11 
Swing —— JTable鼠标移入更换单元格颜色?相关代码 展开详细说明public class MouseHoverTable extends JFr

Swing —— JTable鼠标移入更换单元格颜色

?

相关代码 展开详细说明
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 implementsTableCellRenderer, 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) {}}}

?

热点排行