-
swing jtable 行选择时加色同时鼠标滑过行时行也加色如果实现?0
swing jtable 行选择是加色并且鼠标滑过行时也加色如果实现?
Jtable默认已经实现了行选择加色,但我现实了鼠标滑过是时行也加色后,选择行加色就失效了,两者只能实现其一,如何才能实现选择行时加色,同时鼠标滑过行时行也加色呢,谢谢!2012年7月05日 22:50
1个答案 按时间排序 按投票排序
-
给你敲了一段,感动吧
import java.awt.Color; import java.awt.Component; import java.awt.Point; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionListener; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTable; import javax.swing.table.AbstractTableModel; import javax.swing.table.DefaultTableCellRenderer; /** * TableDemo is just like SimpleTableDemo, except that it uses a custom * TableModel. */ class MyTable extends JTable implements MouseMotionListener{ private int mouseOnRowIndex = -1; public MyTable() { this.setModel(new MyTableModel()); this.addMouseMotionListener(this); this.setDefaultRenderer(Object.class, new MyTableCellRenderer()); } public void setMouseOnRowIndex(int mouseOnRowIndex) { this.mouseOnRowIndex = mouseOnRowIndex; } class MyTableCellRenderer extends DefaultTableCellRenderer{ @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { if(row == MyTable.this.mouseOnRowIndex){ setBackground(Color.YELLOW); }else{ setBackground(null); } return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); } } class MyTableModel extends AbstractTableModel { @Override public int getRowCount() { return 3; } @Override public int getColumnCount() { return 3; } @Override public Object getValueAt(int rowIndex, int columnIndex) { return rowIndex + " - " + columnIndex; } } @Override public void mouseDragged(MouseEvent e) {} @Override public void mouseMoved(MouseEvent e) { MyTable table = (MyTable) e.getComponent(); Point point = e.getPoint(); int rowAtPoint = table.rowAtPoint(point); System.out.println(rowAtPoint); table.setMouseOnRowIndex(rowAtPoint); table.updateUI(); } public static void main(String[] args) { JFrame frame = new JFrame(); frame.add(new MyTable()); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); } }
2012年7月06日 05:12
相关推荐
Java Swing JTable分页!JAVA源码!
无需修改已有代码,快速为jtable添加行间拖拽功能。 无需实现dnd相关接口,使用方便
Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性
JTable实现下拉动态加载数据,滑动动态加载数据,纯原生态java。
swing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing ...
主要介绍了Java Swing实现JTable检测单元格数据变更事件的方法,结合完整实例形式分析了Swing实现JTable检测单元格数据变更事件过程中出现的问题与相关解决方法,需要的朋友可以参考下
Swing之JTable的详细介绍,讲述jtable的操作和excle表之间的转换
java swing 导出Jtable里面的数据到excel,不用拷贝代码,直接粘贴代码
Swing之JTable用法
Swing之JTable详解 类层次结构图: java.lang.Object --java.awt.Component --java.awt.Container --javax.swing.JComponent --javax.swing.JTabel
文件主要内容是Java Swing中JTable的常用功能的应用
里面包含一个类,一个图片 ... * AbstractTableModel是TableModel的实现类(抽象类) 也没有删除一行的方法 * DefaultTableModel继承了AbstractTableModel 这个类中有删除一行的方法 */ dtm.removeRow(row);
用Java Swing Jtable做的日历
在java swing的开发中,需要往表格添加自定义对象,往往需要转换。此类定义了抽象类,运用了范型技术。只需继承时传入对象类型,既可以操作对象表格Model。 作者(HuaSheng) 如有不足,欢迎给我email:sheng24@vip....
复杂JTable(复杂表头、跨行列表体)
swing 中JTABLE中添加控件的例子 可以引申出添加很多控件
中级SWING-J中级中级SWING-JTable属性SWING-JTable属性Table属性
JTable 拖动行 移动行的ui,直接 table.setUI(new DragDropRowTableUI()); 调用
Swing JTable组件设置单元格合并,内置Test测试类,核心API GridBagTable tasktable = new GridBagTable(model); tasktable.mergeCells(startRow, endRow, 0, 0);