2012-03-23 15 views
5

मैं विशेष तालिका शीर्षलेख का पृष्ठभूमि रंग बदलना चाहता हूं। मेरे एप्लाइक्शन में मुझे वर्तमान माह पर हेडर रंग लाल सेट करना होगा। enter image description here मेरे कोड यहाँ है ::विशेष एक टेबल हेडर रंग जावा स्विंग

 jTable1.getTableHeader(). 
    setDefaultRenderer(
    new DefaultTableHeaderCellRenderer()); 



    @Override 
    public Component getTableCellRendererComponent(JTable table, Object value, 
      boolean isSelected, boolean hasFocus, int row, int column) { 
    super.getTableCellRendererComponent(table, value, 
      isSelected, hasFocus, row, column); 
    JTableHeader tableHeader = table.getTableHeader(); 

    if(column==1) 
    tableHeader.setBackground(Color.red); 


    return this; 
    } 

यह सब हैडर रंग की लाल बनाते हैं। कृपया मुझे कुछ सुझाव दें। अग्रिम धन्यवाद।

उत्तर

6

DefaultTableCellRenderer की कुख्यात रंग स्मृति :-) आप

  • पृष्ठभूमि रंग हमेशा सेट करने के लिए: कि दोनों सामान्य और प्रकाश डाला राज्य के लिए है
  • तो से पहले बुला सुपर
करना

कुछ ऐसा:

@Override 
    public Component getTableCellRendererComponent(JTable table, 
     Object value, boolean isSelected, boolean hasFocus, int row, 
     int column) { 
     if (myHighlightCondition) { 
      setBackground(Color.RED); 
     } else { 
      setBackground(null); 
     } 
    super.getTableCellRendererComponent(table, value, isSelected, hasFocus, 
      row, column); 
    return this; 
    } 

अधिक जानकारी के लिए (और इसकी आवश्यकता क्यों है) How do I correctly use custom renderers to paint specific cells in a JTable?

+0

+1 इस उत्तर और लिंक किए गए उत्तर को देखें। अब अगली बार जब मैं टेबल – Robin

+0

के साथ काम कर रहा हूं, तो ढेर खोने से बचने के लिए याद रखने योग्य कुछ ऐसा है धन्यवाद बहुत क्लोपत्रा – Aritra

संबंधित मुद्दे