kpirenderer.java
来自「全面实现ilog地功能,没有使用第三方lib.」· Java 代码 · 共 66 行
JAVA
66 行
/* * This source code is part of TWaver 1.3.1 * * SERVA Software PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * Copyright 2000-2005 SERVA Software, Inc. All rights reserved. */package demo.network.customui;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.JComponent;
import javax.swing.JTable;
import javax.swing.UIManager;
import javax.swing.border.Border;
import javax.swing.border.EmptyBorder;
import javax.swing.table.TableCellRenderer;
public class KPIRenderer extends JComponent implements TableCellRenderer{
protected static Border noFocusBorder = new EmptyBorder(1, 1, 1, 1);
protected static Border focusBorder = UIManager.getBorder("Table.focusCellHighlightBorder");
private boolean hasFocus;
private Color color;
private double proportion;
public KPIRenderer(){
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
if(hasFocus){
this.setBorder(focusBorder);
}else{
this.setBorder(noFocusBorder);
}
Dimension size = this.getSize();
g.setColor(Color.white);
g.fillRect(0, 0, size.width, size.height);
g.setColor(this.color);
g.fillRect(0, 0, (int)(size.width * proportion), size.height);
}
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
this.hasFocus = hasFocus;
String valueText = (String)value;
if(valueText == null){
color = Color.white;
}else{
for(int i=0; i<KPIAttachment.KYES.length; i++){
String key = KPIAttachment.KYES[i];
if(valueText.startsWith(key)){
proportion = Double.parseDouble(valueText.substring(key.length() + 1));
color = KPIAttachment.COLORS[i];
}
}
}
this.setToolTipText(valueText);
return this;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?