java – JTable使用TableCellRenderer更改单元格颜色
作者:互联网
我在我的GUI应用程序中使用JTable作为网格来表示游戏的位置.我希望表格的单元格代表某个对象的某个位置具有某种颜色,并且在某些动作上,要移动的对象(即颜色单元格在Grid / JTable中移动).我知道我可以通过创建一个扩展DefaultTableCellRenderer的类来改变单元格颜色,这是唯一的方法吗?或者是否有更简单的方法来改变单元格颜色?对于这样的应用程序,JXTable是否比JTable更好?
编辑:我没有包括我需要某些单元格颜色动态更改的事实,即按钮单击,键盘点击等等,是否仍然可以使用任何TableCellRenderer,以防我仍在使用JTable?
谢谢,
解决方法:
使用JTable,DefaultTableCellRenderer是最好的方法.
但是,如果使用JXTable,使用Highlighter和自定义谓词会更容易.通常,Predicates用于根据单元格的内容进行着色,但您可以根据行/列和一些外部值轻松地对其进行着色.
在http://www.jarvana.com/jarvana/view/org/swinglabs/swingx-core/1.6.2/swingx-core-1.6.2-javadoc.jar!/org/jdesktop/swingx/JXTable.html下查看Rendering and Highlighting,这是一个条纹表和模式匹配.你基本上和模式荧光笔做同样的事情,但是用你自己的谓词.
标签:java,user-interface,swing,jtable,cellrenderer 来源: https://codeday.me/bug/20191002/1843825.html