Oracle修改JTable中的某个单元格的颜色的方案

以下的文章主要是对Oracle修改JTable中的某个单元格的颜色的介绍,不过原编者的代码没有实现其实际的需求,在47、48行上加else cell.setBackground(Color.WHITE);即可,以下就是相关内容的介绍。

Oracle修改JTable后的完整代码如下:

 

 
 
 
  1. import java.awt.*;  
  2. import java.awt.event.*;  
  3. import javax.swing.*;  
  4. import javax.swing.table.*;  
  5. public class TestTableCellColor extends JFrame  
  6. {  
  7. private String[] colname = {"第1列","第2列","第3列","第4列","第5列"};   

表头信息

 
 
 
  1. private String[][] data = new String[10][5];  

表内容

界面组件----------------------

 
 
 
  1. private JScrollPane scroPanel = new JScrollPane(); 

中底层滚动面板

 
 
 
  1. private DefaultTableModel model;  

Oracle修改JTable中某一单元格的颜色中列表默认TableModel

 

 
 
 
  1. private JTable table; 

int r=1, c=2;用于控制变色区域

 

 
 
 
  1. public TestTableCellColor()  
  2. {  
  3. makeFace();  
  4. addListener();  
  5. showFace();  
  6. }  
  7. private void makeFace()  
  8. {  

 

表内容数组 data[][] 赋值------------

 

 
 
 
  1. for(int i = 0; i < 10; i++)  
  2. {  
  3. for(int j = 0; j < 5; j++)  
  4. {  
  5. data[j] = "( " + (j+1) + ", " + (i+1) + " )";  
  6. }  
  7. }  
  8. table = new JTable(model = new DefaultTableModel(data,colname));  
  9. table.setEnabled(false);  

 

新建列表现器------------------------

 

 
 
 
  1. DefaultTableCellRenderer tcr = new DefaultTableCellRenderer() {  
  2. public Component getTableCellRendererComponent(JTable table, Object value,  
  3. boolean isSelected, boolean hasFocus, int row, int column)  
  4. {  
  5. Component cell = super.getTableCellRendererComponent  
  6. (table, value, isSelected, hasFocus, row, column);  
  7. if(row==r && column==c && cell.isBackgroundSet())  

设置变色的单元格

 

 
 
 
  1. cell.setBackground(Color.GRAY);  
  2. else  
  3. cell.setBackground(Color.WHITE);  
  4. return cell;  
  5. }  
  6. };   

以上的相关内容就是对Oracle修改JTable中某一单元格的颜色的介绍,望你能有所收获。

【编辑推荐】

  1. Oracle ebs的oaf开发环境进行正确的配置
  2. Oracle reports功不可没,实现报表定长输出
  3. Oracle小数点的实际保留问题的4方案
  4. Oracle delete执行过程的流程介绍
  5. Oracle SQL执行缓慢的原因以及解决方案
THE END