Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Licensed to the Apache Software Foundation (ASF) under one or more
   * contributor license agreements.  See the NOTICE file distributed with
   * this work for additional information regarding copyright ownership.
   * The ASF licenses this file to You under the Apache License, Version 2.0
   * (the "License"); you may not use this file except in compliance with
   * the License.  You may obtain a copy of the License at
   * 
   *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package org.apache.log4j.lf5.viewer;
 
 import java.awt.Font;
 import java.util.List;
 
 
LogTable.

Author(s):
Michael J. Sikorsky
Robert Shaw
Brad Marlborough
Brent Sprecher
 
 
 // Contributed by ThoughtWorks Inc.
 
 public class LogTable extends JTable {
   private static final long serialVersionUID = 4867085140195148458L;
   //--------------------------------------------------------------------------
   //   Constants:
   //--------------------------------------------------------------------------
 
   //--------------------------------------------------------------------------
   //   Protected Variables:
   //--------------------------------------------------------------------------
   protected int _rowHeight = 30;
   protected JTextArea _detailTextArea;
 
   // For the columns:
   protected int _numCols = 9;
   protected TableColumn[] _tableColumns = new TableColumn[];
   protected int[] _colWidths = {40, 40, 40, 70, 70, 360, 440, 200, 60};
   protected LogTableColumn[] _colNames = LogTableColumn.getLogTableColumnArray();
   protected int _colDate = 0;
   protected int _colThread = 1;
   protected int _colMessageNum = 2;
   protected int _colLevel = 3;
   protected int _colNDC = 4;
   protected int _colCategory = 5;
   protected int _colMessage = 6;
   protected int _colLocation = 7;
   protected int _colThrown = 8;
 
   protected DateFormatManager _dateFormatManager = null;
 
   //--------------------------------------------------------------------------
   //   Private Variables:
   //--------------------------------------------------------------------------
 
   //--------------------------------------------------------------------------
   //   Constructors:
   //--------------------------------------------------------------------------
 
   public LogTable(JTextArea detailTextArea) {
     super();
 
     init();
 
      = detailTextArea;
 
 
     Enumeration columns = getColumnModel().getColumns();
     int i = 0;
     while (columns.hasMoreElements()) {
       TableColumn col = (TableColumncolumns.nextElement();
       col.setCellRenderer(new LogTableRowRenderer());
       col.setPreferredWidth([i]);
      [i] = col;
      i++;
    }
    //setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
  }
  //--------------------------------------------------------------------------
  //   Public Methods:
  //--------------------------------------------------------------------------

  
Get the DateFormatManager for formatting dates.
    return ;
  }

  
Set the date format manager for formatting dates.
  public void setDateFormatManager(DateFormatManager dfm) {
     = dfm;
  }
  public synchronized void clearLogRecords() {
    //For JDK1.3
    //((DefaultTableModel)getModel()).setRowCount(0);
    // For JDK1.2.x
  }
    return (FilteredLogTableModelgetModel();
  }
  // default view if a view is not set and saved
  public void setDetailedView() {
    //TODO: Defineable Views.
    TableColumnModel model = getColumnModel();
    // Remove all the columns:
    for (int f = 0; f < f++) {
      model.removeColumn([f]);
    }
    // Add them back in the correct order:
    for (int i = 0; i < i++) {
      model.addColumn([i]);
    }
    //SWING BUG:
    sizeColumnsToFit(-1);
  }
  public void setView(List columns) {
    TableColumnModel model = getColumnModel();
    // Remove all the columns:
    for (int f = 0; f < f++) {
      model.removeColumn([f]);
    }
    Iterator selectedColumns = columns.iterator();
    Vector columnNameAndNumber = getColumnNameAndNumber();
    while (selectedColumns.hasNext()) {
      // add the column to the view
      model.addColumn([columnNameAndNumber.indexOf(selectedColumns.next())]);
    }
    //SWING BUG:
    sizeColumnsToFit(-1);
  }
  public void setFont(Font font) {
    super.setFont(font);
    Graphics g = this.getGraphics();
    if (g != null) {
      FontMetrics fm = g.getFontMetrics(font);
      int height = fm.getHeight();
       = height + height / 3;
    }
  }
  //--------------------------------------------------------------------------
  //   Protected Methods:
  //--------------------------------------------------------------------------
  protected void init() {
  }
  // assign a column number to a column name
  protected Vector getColumnNameAndNumber() {
    Vector columnNameAndNumber = new Vector();
    for (int i = 0; i < .i++) {
      columnNameAndNumber.add(i[i]);
    }
    return columnNameAndNumber;
  }
  //--------------------------------------------------------------------------
  //   Private Methods:
  //--------------------------------------------------------------------------
  //--------------------------------------------------------------------------
  //   Nested Top-Level Classes or Interfaces:
  //--------------------------------------------------------------------------
    protected JTable _table;
    public LogTableListSelectionListener(JTable table) {
       = table;
    }
    public void valueChanged(ListSelectionEvent e) {
      //Ignore extra messages.
      if (e.getValueIsAdjusting()) {
        return;
      }
      if (lsm.isSelectionEmpty()) {
        //no rows are selected
      } else {
        StringBuffer buf = new StringBuffer();
        int selectedRow = lsm.getMinSelectionIndex();
        for (int i = 0; i <  - 1; i++) {
          String value = "";
          Object obj = .getModel().getValueAt(selectedRowi);
          if (obj != null) {
            value = obj.toString();
          }
          buf.append([i] + ":");
          buf.append("\t");
          if (i ==  || i ==  || i == ) {
            buf.append("\t"); // pad out the date.
          }
          if (i ==  || i == ) {
            buf.append("\t\t"); // pad out the date.
          }
//               if( i == _colSequence)
//               {
//                  buf.append("\t\t\t"); // pad out the Sequnce.
//               }
          buf.append(value);
          buf.append("\n");
        }
        buf.append([ - 1] + ":\n");
        Object obj = .getModel().getValueAt(selectedRow - 1);
        if (obj != null) {
          buf.append(obj.toString());
        }
        .setText(buf.toString());
      }
    }
  }
New to GrepCode? Check out our FAQ X