以下的文章主要是对Oracle修改JTable中的某个单元格的颜色的介绍,不过原编者的代码没有实现其实际的需求,在47、48行上加else cell.setBackground(Color.WHITE);即可,以下就是相关内容的介绍。
Oracle修改JTable后的完整代码如下:
importjava.awt.*; importjava.awt.event.*; importjavax.swing.*; importjavax.swing.table.*; publicclassTestTableCellColorextendsJFrame { privateString[]colname={"第1列","第2列","第3列","第4列","第5列"};
表头信息
privateString[][]data=newString[10][5];
表内容
界面组件———————-
privateJScrollPanescroPanel=newJScrollPane();
中底层滚动面板
privateDefaultTableModelmodel;
Oracle修改JTable中某一单元格的颜色中列表默认TableModel
privateJTabletable;
int r=1, c=2;用于控制变色区域
publicTestTableCellColor() { makeFace(); addListener(); showFace(); } privatevoidmakeFace() {
表内容数组 data[][] 赋值————
for(inti=0;i<10;i++) { for(intj=0;j<5;j++) { data[j]="("+(j+1)+","+(i+1)+")"; } } table=newJTable(model=newDefaultTableModel(data,colname)); table.setEnabled(false);
新建列表现器————————
DefaultTableCellRenderertcr=newDefaultTableCellRenderer(){ publicComponentgetTableCellRendererComponent(JTabletable,Objectvalue, booleanisSelected,booleanhasFocus,introw,intcolumn) { Componentcell=super.getTableCellRendererComponent (table,value,isSelected,hasFocus,row,column); if(row==r&&column==c&&cell.isBackgroundSet())
设置变色的单元格
cell.setBackground(Color.GRAY); else cell.setBackground(Color.WHITE); returncell; } };
相关文章
标签:Oracle