亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? simplebutton.java

?? 打印管理程序,測試完全通過.windows開發環境.
?? JAVA
字號:
/*
    $Author: $
    $Date: $
    $Revision: $
    $NoKeywords: $
*/
package jp.co.ntl.swing.ext;

import java.awt.Graphics;
import java.awt.Dimension;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.AWTEventMulticaster;
import java.awt.AWTEvent;
import java.awt.Image;
import java.awt.Font;
import java.awt.FontMetrics;

import javax.swing.JComponent;

import jp.co.ntl.Util;
import jp.co.ntl.awt.AwtUtilities;

public class SimpleButton extends JComponent {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private static Font font = new Font("Dialog", Font.PLAIN, 12);
	
	private transient ActionListener actionListener;
	private boolean pressed = false;
	private boolean selected = false;
	private String actionCommand;
	private String text;
	private Image image;
	private Image imagePressed;
	private Image imageDisabled;
	
	public SimpleButton() {
		this("");
	}
	
	public SimpleButton(String text) {
		this.text = text;
		enableEvents(AWTEvent.MOUSE_EVENT_MASK | AWTEvent.MOUSE_MOTION_EVENT_MASK);	
		setFont(font);
	}
	
	public SimpleButton(Image image, Image imagePressed, Image imageDisabled) {
		this.image = image;
		this.imagePressed = imagePressed;
		this.imageDisabled = imageDisabled;
		enableEvents(AWTEvent.MOUSE_EVENT_MASK | AWTEvent.MOUSE_MOTION_EVENT_MASK);	
		setFont(font);
	}
	
	public void setEnabled(boolean enabled) {
		super.setEnabled(enabled);
		repaint();
	}
	
	public Dimension getPreferredSize() {
		if (image != null) {
			return new Dimension(image.getWidth(this), image.getHeight(this));
		} else if (text != null){
			Graphics	g = getGraphics();
			FontMetrics	fm = g.getFontMetrics();
			int			totalWidth = 0;
			for (int i = 0; i < text.length(); i++) {
				totalWidth += fm.charWidth(text.charAt(i));
			}
			int			h = fm.getAscent() + fm.getDescent();
			
			return new Dimension(totalWidth, h);
		}
		
		return super.getPreferredSize();
	}
	
	public Dimension getMinimumSize() {
		return getPreferredSize();
	}
	
	public void addActionListener(ActionListener al) {
		if (al == null) {
			return;
		}
		actionListener = AWTEventMulticaster.add(actionListener, al);
	}
	
	public void removeActionListener(ActionListener al) {
		if (al == null) {
			return;
		}
		actionListener = AWTEventMulticaster.remove(actionListener, al);
	}
		
    public void setActionCommand(String actionCommand) {
        this.actionCommand = actionCommand;
    }

    public String getActionCommand() {
		if (actionCommand == null) {
			actionCommand = text;
		}
        return actionCommand;
    }
	
	protected void processEvent(AWTEvent e) {
		if (e instanceof ActionEvent) {
			processActionEvent((ActionEvent)e);
			return;
		}
		
		super.processEvent(e);
	}
	
	protected void processActionEvent(ActionEvent ae) {
		if (actionListener != null) {
			actionListener.actionPerformed(ae);
		}
	}
	
	protected void processMouseEvent(MouseEvent me) {
		if (isEnabled()) {
			switch (me.getID()) {
			case  MouseEvent.MOUSE_PRESSED:
				if (AwtUtilities.isLeftMouseButton(me) && contains(me.getPoint())) {
					pressed = true;
					selected = true;
					repaint();
				}
				break;
			case MouseEvent.MOUSE_RELEASED:
				if (pressed) {
					pressed = false;		
					repaint();
					if (contains(me.getPoint())) {
						processEvent(new ActionEvent(this, ActionEvent.ACTION_PERFORMED, getActionCommand()));
					}
				}
        		selected = false;
				break;
			}
		}

		super.processMouseEvent(me);
	}

	protected void processMouseMotionEvent(MouseEvent me) {
		if (isEnabled()) {
			if (me.getID() == MouseEvent.MOUSE_DRAGGED) {
				if (contains(me.getPoint())) {
					if (selected && !pressed) {
						pressed = true;
						repaint();
					}
				} else {
					if (selected && pressed) {
						pressed = false;
						repaint();
					}
				}
			}
		}
		
		super.processMouseMotionEvent(me);
	}

	public void update(Graphics g) {
		paint(g);
	}

    private Image backImage = null;
///    private Graphics gImage = null;

	public void paintComponent(Graphics g) {
		Dimension d = getSize();
		if (d.width == 0 || d.height == 0) {
			return;
		}

		if (backImage == null) {
			backImage = createImage(d.width, d.height);
///			gImage = backImage.getGraphics();
		}
		
		if (image != null) {
			paintImage(g);
		} else {
			paintText(g);
		}
	//	g.drawImage(backImage, 0, 0, this);
	}

	private void paintImage(Graphics g) {
///		Dimension d = getSize();
		
		if (pressed) {
			g.drawImage(imagePressed, 0, 0, this);
		} else {
			if (isEnabled()) {
				g.drawImage(image, 0, 0, this);
			} else {
				g.drawImage(imageDisabled, 0, 0, this);
			}
		}
	}
	
	private void paintText(Graphics g) {
		if (font != null) {
			g.setFont(font);
		}
		Dimension d = getSize();
		g.setColor(getBackground());
		if (pressed) {
			g.fillRect(0, 0, d.width, d.height);
			
			g.setColor(Color.white);
			g.drawLine(0, d.height - 1, d.width - 1, d.height - 1);
			g.drawLine(d.width - 1, 0, d.width - 1, d.height - 1);
			
			g.setColor(Color.darkGray);
			g.drawLine(0, 0, 0, d.height - 1);
			g.drawLine(0, 0, d.width - 1, 0);

			g.setColor(Color.gray);
			g.drawLine(1, 1, 1, d.height - 1);
			g.drawLine(1, 1, d.width - 1, 1);

			int x = Util.basePointX(g.getFontMetrics(), text, d.width);
			int y = Util.basePointY(g.getFontMetrics(), text, d.height);
			g.setColor(getForeground());
			g.drawString(text, x + 1, y + 1);

		} else {
			g.fillRect(0, 0, d.width, d.height);
			
			g.setColor(Color.white);
			g.drawLine(0, 0, 0, d.height - 1);
			g.drawLine(0, 0, d.width - 1, 0);
			
			g.setColor(Color.darkGray);
			g.drawLine(1, d.height - 1, d.width - 1, d.height - 1);
			g.drawLine(d.width - 1, 1, d.width - 1, d.height - 1);

			g.setColor(Color.gray);
			g.drawLine(1, d.height - 2, d.width - 2, d.height - 2);
			g.drawLine(d.width - 2, 1, d.width - 2, d.height - 2);

			int x = Util.basePointX(g.getFontMetrics(), text, d.width);
			int y = Util.basePointY(g.getFontMetrics(), text, d.height);
			
			if (isEnabled()) {
				g.setColor(getForeground());
				g.drawString(text, x, y);
			} else {
				g.setColor(Color.white);
				g.drawString(text, x + 1, y + 1);
				g.setColor(getBackground().darker());
				g.drawString(text, x, y);
			}
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97久久精品人人澡人人爽| 久久夜色精品国产噜噜av| 91在线免费播放| 成人精品视频.| 成人免费看黄yyy456| 成人永久看片免费视频天堂| 国产精品一区不卡| 大美女一区二区三区| 国产精品99久久久久久久vr| 国产91高潮流白浆在线麻豆| 国产91精品在线观看| 99视频精品全部免费在线| av电影在线观看不卡| 日本久久电影网| 欧美精品国产精品| 日韩精品一区国产麻豆| 久久久久97国产精华液好用吗| 国产三级欧美三级| 1024成人网| 亚洲国产成人av好男人在线观看| 天天色天天操综合| 久久99精品久久久久婷婷| 国产成人免费视频网站| 99精品在线免费| 欧美日韩免费高清一区色橹橹| 欧美一级高清片在线观看| 久久综合色播五月| 成人免费在线视频| 手机精品视频在线观看| 国模无码大尺度一区二区三区| 成人动漫在线一区| 精品视频1区2区3区| 精品成人在线观看| 自拍偷拍国产亚洲| 蜜乳av一区二区| 国产98色在线|日韩| 在线免费精品视频| 欧美成人一级视频| 亚洲日本乱码在线观看| 天堂久久久久va久久久久| 国产精品一区在线观看乱码 | 欧美午夜精品一区二区三区| 91精品免费在线| 国产拍揄自揄精品视频麻豆| 亚洲美女偷拍久久| 狠狠网亚洲精品| 欧美自拍偷拍午夜视频| 久久影音资源网| 一区二区三区国产豹纹内裤在线| 免费看黄色91| 色久综合一二码| 久久嫩草精品久久久精品一| 亚洲香肠在线观看| 成人av电影在线观看| 在线播放日韩导航| 国产精品久久久久久一区二区三区| 午夜成人免费视频| jizzjizzjizz欧美| 久久一区二区三区四区| 午夜精品在线看| 94色蜜桃网一区二区三区| 精品久久久久久久久久久院品网| 亚洲一区二三区| 成人午夜私人影院| 精品国产凹凸成av人导航| 亚洲一二三四久久| 白白色 亚洲乱淫| 精品国产99国产精品| 五月婷婷久久综合| 色系网站成人免费| 国产三级精品视频| 狠狠色丁香婷婷综合久久片| 欧美老女人在线| 亚洲精品欧美专区| 99久久777色| 国产精品入口麻豆九色| 久久国产精品99久久久久久老狼| 欧美亚洲动漫另类| 亚洲三级在线免费| 成人一级片在线观看| 久久蜜桃香蕉精品一区二区三区| 蜜臀av一区二区在线免费观看 | 7777女厕盗摄久久久| 自拍视频在线观看一区二区| 国产福利一区二区三区视频| 精品欧美一区二区在线观看| 性欧美疯狂xxxxbbbb| 欧美无乱码久久久免费午夜一区| 亚洲欧洲综合另类| 91最新地址在线播放| 欧美国产精品专区| 国产高清不卡一区| 欧美激情一区不卡| 国产成都精品91一区二区三| 国产午夜精品一区二区三区四区| 国产一区欧美一区| 久久综合九色综合97婷婷| 久久精品国产77777蜜臀| 91麻豆精品国产91久久久资源速度 | 精品一区二区免费在线观看| 欧美一区二区三区免费观看视频 | 久久66热偷产精品| 精品国产乱码久久久久久老虎| 美国av一区二区| 精品欧美一区二区三区精品久久| 热久久国产精品| 日韩美女一区二区三区| 精品一区二区三区在线视频| 久久亚区不卡日本| 国产乱人伦精品一区二区在线观看| 久久亚洲一区二区三区明星换脸| 国产精品一卡二卡| 国产精品美女久久久久aⅴ | 欧美日韩日日夜夜| 日本成人在线看| 精品国精品自拍自在线| 国产一区二区日韩精品| 日本一区二区三区高清不卡| 91麻豆.com| 亚洲成人免费在线| 精品免费一区二区三区| 国产成人精品www牛牛影视| 国产精品网曝门| 91成人网在线| 蜜臀久久久久久久| 国产欧美一区二区精品仙草咪| 99久久婷婷国产综合精品电影| 一区二区三区 在线观看视频| 欧美二区乱c少妇| 极品美女销魂一区二区三区免费| 欧美经典三级视频一区二区三区| 色综合天天综合狠狠| 日韩激情视频在线观看| 国产日韩亚洲欧美综合| 欧美亚洲日本一区| 久久成人久久爱| 亚洲欧美日韩一区| 日韩欧美国产综合| 99精品视频在线观看| 日韩中文字幕不卡| 欧美极品美女视频| 欧美丰满美乳xxx高潮www| 高清beeg欧美| 亚洲国产精品自拍| 久久亚洲免费视频| 欧美伊人精品成人久久综合97 | 国产成人av在线影院| 亚洲精品视频在线看| 欧美成人精品3d动漫h| av电影天堂一区二区在线| 天天操天天色综合| 国产精品嫩草99a| 欧美日韩国产bt| 成人午夜在线免费| 久久精品国产色蜜蜜麻豆| 亚洲乱码国产乱码精品精小说| 欧美一级精品在线| 91社区在线播放| 国产自产2019最新不卡| 亚洲最大成人综合| 国产精品系列在线| 欧美哺乳videos| 欧美午夜不卡视频| 成人国产精品免费观看动漫 | 欧美精选午夜久久久乱码6080| 国产精品18久久久| 麻豆专区一区二区三区四区五区| 亚洲女同女同女同女同女同69| 久久久噜噜噜久久中文字幕色伊伊 | 在线免费一区三区| 岛国一区二区在线观看| 美女视频黄免费的久久 | 国产不卡视频一区| 日韩激情中文字幕| 亚洲一区二区欧美日韩 | 狠狠色丁香久久婷婷综合_中| 亚洲五码中文字幕| 亚洲免费观看高清完整版在线观看| 久久免费看少妇高潮| 日韩精品一区二区三区视频| 欧美日韩一区二区三区高清| 91视频一区二区三区| 成人精品小蝌蚪| 国产激情视频一区二区在线观看 | 欧美日韩精品一二三区| 色综合天天视频在线观看 | 国产精品视频观看| 久久夜色精品一区| 久久伊人蜜桃av一区二区| 日韩美女视频在线| 日韩无一区二区| 日韩亚洲欧美一区二区三区| 欧美日韩视频在线一区二区 | 国产区在线观看成人精品| 欧美xxxxxxxx| 日韩免费观看高清完整版在线观看| 欧美精品一二三| 欧美日韩在线播| 3751色影院一区二区三区| 884aa四虎影成人精品一区|