?? characterrenderer.java
字號(hào):
/* * 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.sheet.customsheet;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
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;
import twaver.TWaverUtil;
public class CharacterRenderer 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 String text;
private Color color;
public void paintComponent(Graphics g) {
super.paintComponent(g);
if(hasFocus){
this.setBorder(focusBorder);
}else{
this.setBorder(noFocusBorder);
}
Dimension size = this.getSize();
Graphics2D g2 = (Graphics2D) g;
// fill background
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
GradientPaint gp = new GradientPaint(0, 0, color, size.width / 2, 0, Color.white, true);
g2.setPaint(gp);
g2.fillRect(0, 0, size.width, size.height);
// draw text
g2.setColor(Color.BLACK);
Font font = TWaverUtil.getFont(Font.PLAIN, 12);
g2.setFont(font);
Dimension textSize = TWaverUtil.getTextSize(text, font, g2);
int x = (size.width - textSize.width)/ 2;
int y = TWaverUtil.getTextOffset(text, font, g2);
g2.drawString(text, x, y);
}
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
this.hasFocus = hasFocus;
if(value instanceof Character){
int c = ((Character)value).charValue() - 'A';
c = (c+2) * 666;
color = new Color(c % 180, c % 150, c % 200);
text = "<" + value.toString() + ">";
}else{
color = Color.white;
text = "";
}
this.setToolTipText(value + "");
return this;
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -