View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    * 
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   * 
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.apache.log4j.lf5.viewer;
18  
19  import org.apache.log4j.lf5.LogLevel;
20  import org.apache.log4j.lf5.LogRecord;
21  
22  import javax.swing.*;
23  import javax.swing.table.DefaultTableCellRenderer;
24  import java.awt.*;
25  
26  /***
27   * LogTableRowRenderer
28   *
29   * @author Michael J. Sikorsky
30   * @author Robert Shaw
31   * @author Brad Marlborough
32   */
33  
34  // Contributed by ThoughtWorks Inc.
35  
36  public class LogTableRowRenderer extends DefaultTableCellRenderer {
37    private static final long serialVersionUID = -3951639953706443213L;
38    //--------------------------------------------------------------------------
39    //   Constants:
40    //--------------------------------------------------------------------------
41  
42    //--------------------------------------------------------------------------
43    //   Protected Variables:
44    //--------------------------------------------------------------------------
45    protected boolean _highlightFatal = true;
46    protected Color _color = new Color(230, 230, 230);
47  
48    //--------------------------------------------------------------------------
49    //   Private Variables:
50    //--------------------------------------------------------------------------
51  
52    //--------------------------------------------------------------------------
53    //   Constructors:
54    //--------------------------------------------------------------------------
55  
56    //--------------------------------------------------------------------------
57    //   Public Methods:
58    //--------------------------------------------------------------------------
59  
60    public Component getTableCellRendererComponent(JTable table,
61        Object value,
62        boolean isSelected,
63        boolean hasFocus,
64        int row,
65        int col) {
66  
67      if ((row % 2) == 0) {
68        setBackground(_color);
69      } else {
70        setBackground(Color.white);
71      }
72  
73      FilteredLogTableModel model = (FilteredLogTableModel) table.getModel();
74      LogRecord record = model.getFilteredRecord(row);
75  
76      setForeground(getLogLevelColor(record.getLevel()));
77  
78      return (super.getTableCellRendererComponent(table,
79          value,
80          isSelected,
81          hasFocus,
82          row, col));
83    }
84  
85  
86    //--------------------------------------------------------------------------
87    //   Protected Methods:
88    //--------------------------------------------------------------------------
89    protected Color getLogLevelColor(LogLevel level) {
90      return (Color) LogLevel.getLogLevelColorMap().get(level);
91    }
92  
93    //--------------------------------------------------------------------------
94    //   Private Methods:
95    //--------------------------------------------------------------------------
96  
97    //--------------------------------------------------------------------------
98    //   Nested Top-Level Classes or Interfaces:
99    //--------------------------------------------------------------------------
100 
101 }
102 
103 
104 
105 
106 
107