folder.java
来自「源码为科学出版社出版的英文<java设计模式>(影印版)所用的所有例」· Java 代码 · 共 51 行
JAVA
51 行
package FlyVectors;
import java.awt.*;
import javax.swing.*;
class Folder extends JPanel
{
private Color color;
final int W = 50, H = 30;
final int tableft = 0, tabheight=4, tabwidth=20, tabslant=3;
public Folder(Color c)
{
color = c;
}
//-------------------------------
public void draw(Graphics g, int tx, int ty, String name)
{
g.setColor(Color.black); //outline
g.drawRect(tx, ty, W, H);
g.drawString(name, tx, ty + H+15); //title
g.setColor(Color.white);
g.drawLine (tx, ty, tx+W, ty);
Polygon poly = new Polygon();
poly.addPoint (tx+tableft,ty);
poly.addPoint (tx+tableft+tabslant, ty-tabheight);
poly.addPoint (tx+tabwidth-tabslant, ty-tabheight);
poly.addPoint (tx+tabwidth, ty);
g.setColor(Color.black);
g.drawPolygon (poly);
g.setColor(color); //fill rectangle
g.fillRect(tx+1, ty+1, W-1, H-1);
g.fillPolygon (poly);
g.setColor(Color.white);
g.drawLine (tx, ty, tx+W, ty);
g.setColor(Color.lightGray); //bend line
g.drawLine(tx+1, ty+H-5, tx+W-1, ty+H-5);
g.setColor(Color.black); //shadow lines
g.drawLine(tx, ty+H+1, tx+W-1, ty+H+1);
g.drawLine(tx+W+1, ty, tx+W+1, ty+H);
g.setColor(Color.white); //highlight lines
g.drawLine(tx+1, ty+1, tx+W-1, ty+1);
g.drawLine(tx+1, ty+1, tx+1, ty+H-1);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?