errorcellrenderer.java
来自「Hibernate开发及整合应用大全 蔡雪焘编著 本书用典型的示例剖析Hiber」· Java 代码 · 共 70 行
JAVA
70 行
/* * Created on 30-03-2003 * */package net.sf.hibernate.console;import java.awt.Color;import java.awt.Component;import javax.swing.DefaultListCellRenderer;import javax.swing.JLabel;import javax.swing.JList;import javax.swing.ListCellRenderer;import net.sf.hibernate.console.ErrorListModel.ErrorItem;/** * @author max * */public class ErrorCellRenderer extends DefaultListCellRenderer implements ListCellRenderer { /* (non-Javadoc) * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean) */ public Component getListCellRendererComponent( JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { JLabel label = (JLabel) super.getListCellRendererComponent( list, value, index, isSelected, cellHasFocus); if (value instanceof ErrorListModel.ErrorItem) { ErrorListModel.ErrorItem ei = (ErrorItem) value; String t = ei.message; t = "<html>" + t; t.replaceAll("\n","<br>"); label.setText(ei.message); if (ei.level == ErrorListModel.ERROR) { label.setBackground(Color.red); } else { label.setBackground(list.getBackground()); } } // ---- begin optimization to avoid painting background ---- (stolen from defaultcellrender) // If this is not present will the background sometimes be painted and sometimes it will flicker. Color back = getBackground(); boolean colorMatch = (back != null) && (back.equals(list.getBackground())) && list.isOpaque(); setOpaque(!colorMatch); // ---- end optimization to aviod painting background ---- return label; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?