⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 coloredcanvas.java

📁 corejava的一部分源码,与corejiavasource中的有区别。
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;

public class ColoredCanvas extends Canvas {
	Color color;
	boolean hasFocus = false;

	public ColoredCanvas(Color color) {
		this.color = color;

		addMouseListener(new MouseAdapter() {
			public void mousePressed(MouseEvent event) {
				requestFocus();
			}
		});
		addFocusListener(new FocusListener() {
			public void focusGained(FocusEvent e) {
				hasFocus = true;
				repaint();
			}
			public void focusLost(FocusEvent event) {
				hasFocus = false;
				repaint();
			}
		});
		addKeyListener(new KeyAdapter() {
			public void keyPressed(KeyEvent event) {
				System.out.println("Key Pressed");
			}
		});
	}
	public boolean isFocusTraversable() {
		return true;
	}	
	public void paint(Graphics g) {
		Dimension size = getSize();
		g.setColor  (color);
		g.fill3DRect(2,2,size.width-4,size.height-4,true);

		if(hasFocus == true) {
			g.setColor(Color.black);
			g.drawRect(0,0,size.width-1,size.height-1);
		}
	}
	public Dimension getPreferredSize() {
		return new Dimension(100,100);
	}
    public Frame getFrame() {
		Component c = this;

        while((c = c.getParent()) != null) {
            if(c instanceof Frame)
                return (Frame)c;
        }
        return null;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -