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


  本文标签: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中某一单元格的颜色的介绍,望你能有所收获  。