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

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

?? jlistview.java

?? log4j的源碼
?? JAVA
字號(hào):
/* * Copyright 1999-2005 The Apache Software Foundation. *  * Licensed 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.JPanel;import javax.swing.JTextArea;import javax.swing.JScrollPane;import javax.swing.ListCellRenderer;import java.awt.Component;import java.awt.FlowLayout;import java.awt.GridLayout;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 JListView extends JList {  static Category cat = Category.getInstance(JListView.class.getName());  //JListViewModel model;  PatternLayout layout;  static LoggingEvent proto = new LoggingEvent("x", cat, Priority.ERROR, 					       "Message ", new Throwable());  public  JListView(JListViewModel model) {    super(model);    layout = new PatternLayout("%r %p %c [%t] -  %m");    //this.setModel(model);    this.setCellRenderer(new MyCellRenderer());    //    setFixedCellWidth(10);    //setFixedCellHeight(20);  }  public  void add(LoggingEvent event) {    ((JListViewModel)getModel()).add(event);  }  /*  public  Dimension getPreferredSize() {    System.out.println("getPreferredSize() called");    return super.getPreferredSize();  }  public  int getScrollableUnitIncrement(Rectangle visibleRect, int orientation,				 int direction) {    System.out.println("getScrollableUnitIncrement called with " + visibleRect +		       "orientation: "+orientation+", direction: "+direction);    return super.getScrollableUnitIncrement(visibleRect, orientation,     				    direction);  }  public  int getScrollableBlockIncrement(Rectangle visibleRect, int orientation,				  int direction) {    System.out.println("getScrollableBlockIncrement called with " + 		       visibleRect + "orientation: "+orientation+		       ", direction: "+direction);    return super.getScrollableBlockIncrement(visibleRect, orientation,     				     direction);  }  */  //public  //boolean getScrollableTracksViewportWidth() {  //System.out.println("getScrollableTracksViewportWidth called.");  //return true;    //boolean b = super.getScrollableTracksViewportWidth();    //System.out.println("result is: "+b);    //return b;  //}    //public  //boolean getScrollableTracksViewportHeight() {   // System.out.println("getScrollableTracksViewportHeight called.");  // return true;     //boolean b = super.getScrollableTracksViewportHeight();     //System.out.println("result is: "+b);     //return b;  //}  //public   //int getFirstVisibleIndex() {  //int r = getFirstVisibleIndex();   // System.out.println("----------getFirstVisibleIndex called, result: "+r);  //return r;  //}  //public  //Object getPrototypeCellValue() {  //return proto;  //}      static public void main(String[] args) {    JFrame frame = new JFrame("JListView test");    Container container = frame.getContentPane();    JListView view = new JListView(new JListViewModel(Integer.parseInt(args[0])));    JScrollPane sp = new JScrollPane(view);    sp.setPreferredSize(new Dimension(250, 80));        container.setLayout(new BoxLayout(container, BoxLayout.X_AXIS));    //container.add(view);    container.add(sp);    JButton b1 = new JButton("Add 1");    JButton b10 = new JButton("Add 10");    JButton b100 = new JButton("Add 100");    JButton b1000 = new JButton("Add 1000");    JButton b10000 = new JButton("Add 10000");    JPanel panel = new JPanel(new GridLayout(0,1));    container.add(panel);    panel.add(b1);    panel.add(b10);    panel.add(b100);    panel.add(b1000);    panel.add(b10000);        AddAction a1 = new AddAction(view, 1);    AddAction a10 = new AddAction(view, 10);    AddAction a100 = new AddAction(view, 100);    AddAction a1000 = new AddAction(view, 1000);    AddAction a10000 = new AddAction(view, 10000);    b1.addActionListener(a1);    b10.addActionListener(a10);    b100.addActionListener(a100);    b1000.addActionListener(a1000);    b10000.addActionListener(a10000);    frame.setVisible(true);    frame.setSize(new Dimension(700,700));    long before = System.currentTimeMillis();    int RUN = 1000;    int i = 0;    while(i++ < RUN) {            LoggingEvent event0 = new LoggingEvent("x", cat, Priority.ERROR, 					     "Message "+i, null);            Throwable t = new Exception("hello "+i);      LoggingEvent event1 = new LoggingEvent("x", cat, Priority.ERROR, 					     "Message "+i, t);            if(i % 10 == 0) {		event1.getThreadName();	view.add(event1);      } else {	event0.getThreadName();	view.add(event0);      }    }    long after = System.currentTimeMillis();    System.out.println("Time taken :"+ ((after-before)*1000/RUN));  }  class MyCellRenderer extends JTextArea implements ListCellRenderer {    Object o = new Object();    int i = 0;    final ImageIcon longIcon = new ImageIcon("RedFlag.gif");    public    MyCellRenderer() {      System.out.println("----------------------");          }    public    int getTabSize()  {      return 2;    }    public Image loadIcon ( String path ) {    Image img = null;    try {      URL url = ClassLoader.getSystemResource(path);      img = (Image) (Toolkit.getDefaultToolkit()).getImage(url);    } catch (Exception e) {      System.out.println("Exception occured: " + e.getMessage() + 			 " - " + e );       }	    return (img);  }    public Component getListCellRendererComponent(JList list,						Object value, 						int index, // cell index						boolean isSelected, 						boolean cellHasFocus) {      //      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) {	  setText(str + Layout.LINE_SEP + t);	} else {		  setText(str);	}	      } else {	setText(value.toString());      }      return this;    }  }}class JListViewModel extends AbstractListModel {  CyclicBuffer cb;    JListViewModel(int size) {    cb = new CyclicBuffer(size);  }  public  void add(LoggingEvent event) {    //System.out.println("JListViewModel.add called");    cb.add(event);    int j = cb.length();    fireContentsChanged(this, 0, j);  }      public  Object getElementAt(int index) {    return cb.get(index);  }  public  int getSize() {    return cb.length();  }  }class AddAction implements ActionListener {  Thread t;  static int counter = 0;  public  AddAction(JListView view, int burst) {    this.t = new AddThread(view, burst);    t.start();  }      public  void actionPerformed(ActionEvent e) {    System.out.println("Action occured");    synchronized(t) {      t.notify();    }  }  class AddThread extends Thread {    int burst;    JListView view;    Category cat = Category.getInstance("x");        AddThread(JListView view, int burst) {      super();      this.burst = burst;      this.view = view;      setName("AddThread"+burst);    }    public    void run() {      while(true) {	synchronized(this) {	  try {	    this.wait();	  } catch(Exception e) {	  }	}	for(int i = 0; i < burst; i++) {	  LoggingEvent event = new LoggingEvent("x", cat, Priority.DEBUG, 						"Message "+counter, null);	  event.getThreadName();    	  if(counter % 50 == 0) {	    //event.throwable = new Exception("hello "+counter);	  }	  counter++;	  view.add(event);	}      }    }  }}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久国产精麻豆99网站 | 日韩精品乱码免费| 狠狠色丁香久久婷婷综合丁香| 99久久久久久| 久久亚洲二区三区| 三级一区在线视频先锋 | 美女国产一区二区| 91视视频在线观看入口直接观看www | 欧美高清激情brazzers| 国产精品久久看| 蜜桃精品在线观看| 欧美亚洲高清一区| 亚洲特级片在线| 国产高清在线观看免费不卡| 日韩欧美在线观看一区二区三区| 亚洲激情中文1区| 成人精品免费视频| 精品国产凹凸成av人导航| 亚洲与欧洲av电影| 91亚洲精品久久久蜜桃网站| 国产午夜亚洲精品理论片色戒| 欧美a一区二区| 欧美日韩极品在线观看一区| 一区二区三区视频在线观看| 97久久超碰国产精品| 国产欧美视频一区二区三区| 国产在线精品免费| 精品国产乱码久久久久久久久 | 亚洲国产综合91精品麻豆| caoporn国产精品| 国产欧美精品在线观看| 国内成人免费视频| 2020日本不卡一区二区视频| 蜜桃传媒麻豆第一区在线观看| 欧美喷潮久久久xxxxx| 亚洲国产综合91精品麻豆| 91久久线看在观草草青青| 亚洲少妇屁股交4| 99久久精品一区| 国产精品成人免费精品自在线观看 | 亚洲精品高清在线| 91在线你懂得| 自拍偷拍欧美精品| 97久久精品人人澡人人爽| 亚洲伦在线观看| 91美女在线观看| 一区二区三区四区不卡在线| 色综合久久88色综合天天免费| 亚洲视频在线观看三级| 一本大道久久a久久精品综合| 亚洲女与黑人做爰| 91福利在线观看| 亚洲午夜一区二区三区| 欧美二区三区的天堂| 日韩成人精品在线| 日韩视频一区二区在线观看| 久久99精品久久久久婷婷| 久久久久亚洲蜜桃| 成人自拍视频在线观看| 亚洲色图20p| 在线观看免费亚洲| 日韩成人伦理电影在线观看| 欧美v亚洲v综合ⅴ国产v| 国产自产视频一区二区三区| 国产亚洲午夜高清国产拍精品| 成人天堂资源www在线| 综合在线观看色| 欧美日韩中文字幕一区二区| 日本欧美一区二区| 久久精品人人做人人综合| jiyouzz国产精品久久| 一区二区三区日韩| 91麻豆精品国产91久久久久久| 久久aⅴ国产欧美74aaa| 国产清纯美女被跳蛋高潮一区二区久久w| 国产成人av一区| 一二三四社区欧美黄| 91精品国产高清一区二区三区蜜臀| 免费久久精品视频| 中文在线资源观看网站视频免费不卡| 91丨九色porny丨蝌蚪| 日韩精品色哟哟| 国产欧美日韩精品一区| 欧美伊人久久久久久久久影院| 日韩在线一区二区| 国产视频亚洲色图| 91久久奴性调教| 激情文学综合插| 亚洲色图视频免费播放| 欧美一区二区视频观看视频| 成人免费视频一区二区| 亚洲成av人片| 久久久久久久久久看片| 一本一道综合狠狠老| 久久99久久精品| 亚洲天堂a在线| 日韩美女在线视频| 色先锋久久av资源部| 久久99国内精品| 亚洲六月丁香色婷婷综合久久| 日韩欧美在线一区二区三区| 99视频在线精品| 麻豆国产欧美一区二区三区| 专区另类欧美日韩| 欧美成人精品3d动漫h| 91麻豆国产精品久久| 久久精品国产成人一区二区三区| 中文字幕中文字幕一区| 欧美刺激脚交jootjob| 色欲综合视频天天天| 国产精品一区三区| 婷婷综合在线观看| 亚洲欧洲三级电影| 精品国产a毛片| 欧美日韩精品一区二区三区四区| 国产99久久久精品| 日本一区中文字幕| 亚洲精品老司机| 国产区在线观看成人精品| 91麻豆精品国产自产在线观看一区 | 老司机午夜精品| 亚洲精品成人少妇| 国产农村妇女精品| 日韩一区二区在线看| 欧美综合亚洲图片综合区| 国产成人精品免费在线| 卡一卡二国产精品| 一区二区日韩av| ㊣最新国产の精品bt伙计久久| 欧美精品一区二区三区在线播放| 欧美日韩一二区| 91女神在线视频| 大桥未久av一区二区三区中文| 另类中文字幕网| 日韩电影在线免费观看| 亚洲高清视频的网址| 亚洲欧美一区二区久久| 欧美高清在线精品一区| 久久久美女艺术照精彩视频福利播放| 91精品国产色综合久久久蜜香臀| 欧洲精品视频在线观看| 99久久国产免费看| 高清av一区二区| 国产精品亚洲综合一区在线观看| 奇米一区二区三区av| 图片区小说区国产精品视频| 亚洲自拍偷拍综合| 亚洲色欲色欲www| 日韩美女啊v在线免费观看| 亚洲国产激情av| wwwwxxxxx欧美| 久久一二三国产| 久久只精品国产| 久久久综合视频| 精品sm在线观看| 精品国一区二区三区| 精品国产伦一区二区三区观看方式| 91精品国产欧美日韩| 666欧美在线视频| 337p亚洲精品色噜噜狠狠| 欧美色老头old∨ideo| 欧美性生活一区| 欧美少妇xxx| 欧美日韩在线一区二区| 欧美视频第二页| 欧美美女bb生活片| 7777精品伊人久久久大香线蕉 | 亚洲成人午夜影院| 亚洲va欧美va国产va天堂影院| 亚洲妇熟xx妇色黄| 亚洲超丰满肉感bbw| 日韩福利视频导航| 免费国产亚洲视频| 久久99国产精品成人| 国产精一区二区三区| 国产成人8x视频一区二区 | 午夜久久久影院| 蜜桃视频一区二区三区在线观看| 老色鬼精品视频在线观看播放| 久久99国产精品久久99果冻传媒| 国产美女精品一区二区三区| 东方欧美亚洲色图在线| 97国产精品videossex| 在线亚洲一区二区| 欧美老女人在线| 日韩精品一区二区三区视频播放 | 日韩国产欧美在线播放| 蜜桃精品在线观看| 国产精品123| 91亚洲国产成人精品一区二区三| 欧美亚洲免费在线一区| 欧美美女一区二区在线观看| 日韩色在线观看| 久久久久久夜精品精品免费| 国产精品乱人伦中文| 亚洲一本大道在线| 激情偷乱视频一区二区三区| aaa亚洲精品| 欧美疯狂性受xxxxx喷水图片| 精品久久久久久久久久久院品网 |