亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? jtableappender.java

?? apache的log4j源碼
?? JAVA
字號:
/* * 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.gui;import org.apache.log4j.helpers.CyclicBuffer;import org.apache.log4j.helpers.LogLog;import org.apache.log4j.Priority;import org.apache.log4j.Category;import org.apache.log4j.Layout;import org.apache.log4j.PatternLayout;import org.apache.log4j.spi.LoggingEvent;import javax.swing.JList;import javax.swing.AbstractListModel;import javax.swing.JFrame;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.JTable;import javax.swing.JTextArea;import javax.swing.table.AbstractTableModel;import javax.swing.table.TableCellRenderer;import javax.swing.JScrollPane;import javax.swing.ListCellRenderer;import java.awt.Component;import java.awt.FlowLayout;import javax.swing.BoxLayout;import java.awt.BorderLayout;import java.awt.Dimension;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import java.awt.Container;import javax.swing.ImageIcon;import java.awt.Image;import java.awt.Toolkit;import java.net.URL;import java.awt.Rectangle;public class JTableAppender extends JTable {  static Category cat = Category.getInstance(JTableAppender.class.getName());  PatternLayout layout;  public  JTableAppender() {    layout = new PatternLayout("%r %p %c [%t] -  %m");    this.setDefaultRenderer(Object.class, new Renderer());  }  public  void add(LoggingEvent event) {    ((JTableAppenderModel)getModel()).add(event);  }  public  Dimension getPreferredSize() {    System.out.println("getPreferredSize() called");    return super.getPreferredSize();  }  static public void main(String[] args) {    JFrame frame = new JFrame("JListView test");    Container container = frame.getContentPane();    JTableAppender appender = new JTableAppender();        JTableAppenderModel model = new                               JTableAppenderModel(Integer.parseInt(args[0]));    appender.setModel(model);    //appender.createDefaultColumnsFromModel();        JScrollPane sp = new JScrollPane(appender);    sp.setPreferredSize(new Dimension(250, 80));        container.setLayout(new BoxLayout(container, BoxLayout.X_AXIS));    //container.add(view);    container.add(sp);    JButton button = new JButton("ADD");    container.add(button);        button.addActionListener(new JTableAddAction(appender));    frame.setVisible(true);    frame.setSize(new Dimension(700,700));    long before = System.currentTimeMillis();    int RUN = 10000;    int i = 0;    while(i++ < RUN) {            LoggingEvent event = new LoggingEvent("x", cat, Priority.ERROR, 					    "Message "+i, null);      event.getThreadName();      if(i % 10 == 0) {	//event.throwable = new Exception("hello "+i);      }      appender.add(event);    }    long after = System.currentTimeMillis();    System.out.println("Time taken :"+ ((after-before)*1000/RUN));  }  class Renderer extends JTextArea implements TableCellRenderer {    Object o = new Object();    int i = 0;    public    Renderer() {      System.out.println("Render() called ----------------------");          }    public Component getTableCellRendererComponent(JTable table,						   Object value,						   boolean isSelected,						   boolean hasFocus,						   int row,						   int column) {      System.out.println(o + " ============== " + i++);      //LogLog.error("=======", new Exception());      //setIcon(longIcon);      if(value instanceof LoggingEvent) {	LoggingEvent event = (LoggingEvent) value;	String str = layout.format(event);	String t = event.getThrowableInformation();		if(t != null) {	  System.out.println("eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee");	  setText(str + Layout.LINE_SEP + t);	} else {		  setText(str);	}	      } else {	setText(value.toString());      }      return this;    }  }}class JTableAppenderModel extends AbstractTableModel {  CyclicBuffer cb;    JTableAppenderModel(int size) {    cb = new CyclicBuffer(size);  }  public  void add(LoggingEvent event) {    //System.out.println("JListViewModel.add called");    cb.add(event);    int j = cb.length();    fireTableDataChanged();  }  public   int getColumnCount() {     return 1;   }  public int getRowCount() {     return cb.length();  }  //public  //Class getColumnClass(int index) {  //  System.out.println("getColumnClass called " + index);  //  return LoggingEvent.class;  //}  public   Object getValueAt(int row, int col) {    return cb.get(row);  }}class JTableAddAction implements ActionListener {      int j;  JTableAppender appender;  Category cat = Category.getInstance("x");    public  JTableAddAction(JTableAppender appender) {    this.appender = appender;    j = 0;  }      public  void actionPerformed(ActionEvent e) {    System.out.println("Action occured");    LoggingEvent event = new LoggingEvent("x", cat, Priority.DEBUG, 					    "Message "+j, null);        if(j % 5 == 0) {      //event.throwable = new Exception("hello "+j);    }    j++;    appender.add(event);  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美绝品在线观看成人午夜影视| 亚洲第一会所有码转帖| 日本成人在线看| 91精品国产综合久久蜜臀| 亚洲国产日韩a在线播放| 欧美主播一区二区三区| 亚洲国产精品尤物yw在线观看| 欧美日韩在线三级| 蜜臀91精品一区二区三区| 日韩精品资源二区在线| 国产一区二区三区最好精华液| 久久久久久久久久久久久女国产乱| 精品中文字幕一区二区| 中文字幕免费在线观看视频一区| 91丨porny丨户外露出| 丝袜a∨在线一区二区三区不卡| 7777精品伊人久久久大香线蕉| 日本网站在线观看一区二区三区| 日韩免费高清视频| 白白色亚洲国产精品| 亚瑟在线精品视频| 久久精品一区二区三区av| 一本色道久久加勒比精品 | 欧美一区二区三区视频| 久久精品国产亚洲高清剧情介绍| 国产精品妹子av| 日韩欧美国产一区二区在线播放| 日韩欧美不卡在线观看视频| 97久久久精品综合88久久| 蜜桃av一区二区| 丝袜a∨在线一区二区三区不卡| 国产欧美一区二区在线观看| 3751色影院一区二区三区| 一本大道久久a久久精二百 | 日本美女一区二区三区视频| 国产精品视频一二三| 久久免费国产精品| 日韩一级成人av| 日韩一二三区不卡| 在线播放视频一区| 欧美日韩国产电影| 欧美人体做爰大胆视频| 91精品91久久久中77777| 日本乱人伦aⅴ精品| 色综合久久久久久久| 成人av手机在线观看| 成人免费精品视频| 97久久精品人人做人人爽| www.亚洲激情.com| 99re这里只有精品视频首页| 成人app软件下载大全免费| 色老汉一区二区三区| 欧美日韩亚洲综合| 日韩一级完整毛片| 亚洲成人精品在线观看| 日本va欧美va欧美va精品| 欧美a级一区二区| 国产不卡在线播放| 在线国产电影不卡| 日韩欧美一级二级| 日本一区二区电影| 午夜欧美视频在线观看| 国产精品一区久久久久| 91丨九色丨蝌蚪富婆spa| 5858s免费视频成人| 久久久久久久久久久久久夜| 亚洲欧美国产毛片在线| 久久精品av麻豆的观看方式| 东方欧美亚洲色图在线| 51精品久久久久久久蜜臀| 国产日本一区二区| 日本成人在线电影网| 国精产品一区一区三区mba桃花| 成人黄动漫网站免费app| 欧美色视频在线| 国产日产精品1区| 日韩精品国产欧美| 欧美午夜电影在线播放| 国产精品福利影院| 精品一区二区三区在线播放| 欧美日韩精品欧美日韩精品一| 久久精品人人做| 精品一区二区三区久久| 91精品国产乱| 日本中文一区二区三区| 欧美怡红院视频| 亚洲成人动漫在线免费观看| 欧美丝袜丝交足nylons图片| 亚洲蜜臀av乱码久久精品 | 麻豆精品一区二区综合av| 91蝌蚪国产九色| 亚洲女同女同女同女同女同69| 成人99免费视频| 亚洲品质自拍视频| 欧美在线观看视频一区二区| 一区二区三区四区蜜桃| 色诱亚洲精品久久久久久| 亚洲丝袜自拍清纯另类| 欧美少妇xxx| 日本视频一区二区| 日韩一区二区三区四区| 美女视频一区二区三区| 久久综合色鬼综合色| 国产乱码精品一品二品| 一区在线中文字幕| 日本韩国一区二区三区| 五月激情综合婷婷| 欧美精品一区二区高清在线观看| 国产suv精品一区二区三区| 亚洲猫色日本管| 日韩欧美电影在线| 99热精品一区二区| 日韩精品一二区| 国产精品久久夜| 7777精品伊人久久久大香线蕉超级流畅 | 在线观看日韩国产| 国产凹凸在线观看一区二区| 亚洲一区在线电影| 欧美国产成人在线| 欧美人伦禁忌dvd放荡欲情| 精品一区二区三区免费毛片爱| 国产精品久久久久久妇女6080| 欧美在线你懂的| 成人福利在线看| 久久99精品久久久| 亚洲成人手机在线| 亚洲精品中文字幕乱码三区| 日韩欧美亚洲国产精品字幕久久久| 99久久久精品| 国产91精品免费| 国产在线播放一区三区四| 午夜精品123| 亚洲国产视频一区二区| 一级日本不卡的影视| 国产精品国产三级国产专播品爱网| 日韩美女天天操| 日韩欧美一区在线观看| 日韩一区二区不卡| 91精品福利在线一区二区三区 | 精品系列免费在线观看| 婷婷成人激情在线网| 性欧美疯狂xxxxbbbb| 亚洲午夜久久久久久久久久久 | 欧美色手机在线观看| 欧美日本乱大交xxxxx| 91精品国产综合久久小美女| 欧美日韩高清一区二区不卡| 欧美日韩大陆在线| 91精品国产综合久久福利| 3d成人动漫网站| 久久日一线二线三线suv| 久久久久99精品一区| 国产精品久久久久7777按摩| 亚洲素人一区二区| 视频一区中文字幕国产| 国产成人夜色高潮福利影视| 99re亚洲国产精品| 欧美亚洲一区二区三区四区| 欧美一区二区在线免费播放| 欧美成人在线直播| 亚洲色图制服诱惑| 视频一区二区三区中文字幕| 国产福利不卡视频| 色吧成人激情小说| 久久影院电视剧免费观看| 日韩一区欧美一区| 国内精品写真在线观看| 一本久久精品一区二区| 欧美大片一区二区| 亚洲午夜免费电影| 丰满亚洲少妇av| 日韩精品中午字幕| 亚洲成人在线观看视频| 成人一区二区三区中文字幕| 欧美日韩亚洲综合在线| 欧美极品美女视频| 日本成人在线不卡视频| 色综合中文字幕国产| 日韩一区二区三区免费看| 成人欧美一区二区三区在线播放| 男人的j进女人的j一区| 欧美美女直播网站| 亚洲一区二区三区四区不卡| 97国产精品videossex| 久久久精品影视| 韩国精品在线观看| 久久久亚洲午夜电影| 麻豆精品视频在线| 日韩亚洲国产中文字幕欧美| 日韩激情av在线| 欧美少妇bbb| 久久精品久久久精品美女| 在线综合亚洲欧美在线视频| 爽好多水快深点欧美视频| 日韩一区二区三区四区 | 国产激情视频一区二区在线观看| 久久久久久久久久久久久夜| 国产乱码精品1区2区3区| 国产欧美精品一区二区三区四区| 久久精品久久综合|