📄 intboxanimationview.java
字号:
package graphicAnimation.intAnimationView;
import java.awt.*;
/**
* 以盒子(正方形)作为背景,在正方形中显示整数数值的方式进行展示的整数视图
* @author 周晓聪
* @since 2007/7/20
*/
public class IntBoxAnimationView extends IntAnimationView {
// 在正方形中显示整数数值的颜色,这种颜色最好是亮色。正方形本身的颜色使用保存在
// AnimationView 中的基本颜色,这种颜色最好用深色
protected Color valueColor = Color.white;
protected int width = 10; // 正方形盒子的宽度
public IntBoxAnimationView() { }
public IntBoxAnimationView(int value) { super(value); }
public IntBoxAnimationView(int value, Point pos) { super(value, pos); }
public IntBoxAnimationView(int value, Point pos, Color color) {
super(value, pos, color);
}
public IntBoxAnimationView(int value, Point pos, Color color, Color vColor) {
super(value, pos, color);
valueColor = vColor;
}
public IntBoxAnimationView(int value, Point pos, Color color, Color vColor, int bWidth) {
super(value, pos, color);
valueColor = vColor;
width = Math.max(bWidth, 10);
}
/**
* 返回显示整数数值的颜色
*/
public Color getValueColor() {
return valueColor;
}
/**
* 设置显示整数数值的颜色
*/
public void setValueColor(Color valueColor) {
this.valueColor = valueColor;
}
/**
* 返回正方形盒子的宽度
*/
public int getWidth() {
return width;
}
/**
* 设置正方形盒子的宽度
*/
public void setWidth(int width) {
this.width = Math.max(width, 10);
}
/**
* 返回正方形的高度,等于正方形的宽度
*/
public int getHeight() {
return width;
}
/**
* 以正方形盒子为背景,在正方形中间显示整数数值的方式展示整数数据
* @param gc 展示该整数的图形上下文
*/
public void paint(Graphics gc) {
if (!visible) return; // 如果不可见,则不绘制
// 以基本颜色填充正方形盒子
gc.setColor(color);
gc.fillRect(position.x, position.y-width, width, width);
// 以显示整数数值的颜色画正方形的边以及在正方形中间显示整数数值
gc.setColor(valueColor);
gc.drawRect(position.x, position.y-width, width, width);
// 下面尽量使得整数数值显示在正方形的中间,但是要真正在中间还需要计算当前图形对象所使用的字体
// 的宽度和高度信息,这里只是简单的实现,大概适合盒子宽度 width 在 20 至 50 之间的像素范围
gc.drawString(value+"", position.x + width/4, position.y - width/4);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -