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

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

?? printerbutton.java

?? 打印管理程序,測試完全通過.windows開發環境.
?? JAVA
字號:
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 PrinterButton extends JComponent {

	private static final long serialVersionUID = 1L;

	private static Font font = new Font("Dialog", Font.PLAIN, 12);
	private static Color BG_COLOR_OFF = new Color(226, 241, 246);//Color.LIGHT_GRAY;
	private static Color BG_COLOR_ON  = new Color(165, 241, 178);
	private Color bgSelectedColor;
	
	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;
	
	private int btnX;
	private int btnY;
	private int btnWidth;
	private int btnHeight;
	private boolean target = false;
	
	public PrinterButton() {
		this("");
	}
	
	public PrinterButton(String text) {
		this.text = text;
		this.bgSelectedColor = BG_COLOR_OFF;
		enableEvents(AWTEvent.MOUSE_EVENT_MASK | AWTEvent.MOUSE_MOTION_EVENT_MASK);	
		setFont(font);
	}
	
	public PrinterButton(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;

	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);
		}
		
		if (image != null) {
			paintImage(g);
		} else {
			paintText(g);
		}
	}

	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());
		g.setColor(this.bgSelectedColor);
		
		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);
			}
		}
	}
	
	// 儃僞儞昞帵柤愝掕
	public void setText(String text) {
		this.text = text;
	}

	public int getBtnX() {
		return btnX;
	}

	public void setBtnX(int btnX) {
		this.btnX = btnX;
	}

	public int getBtnY() {
		return btnY;
	}

	public void setBtnY(int btnY) {
		this.btnY = btnY;
	}

	public int getBtnWidth() {
		return btnWidth;
	}

	public void setBtnWidth(int btnWidth) {
		this.btnWidth = btnWidth;
	}

	public int getBtnHeight() {
		return btnHeight;
	}

	public boolean isTarget() {
		return target;
	}

	public void setTarget(boolean target) {
		this.target = target;
	}
	
	public void setBtnHeight(int btnHeight) {
		this.btnHeight = btnHeight;
	}
	
	public void select(boolean bgFlag) {
		if (bgFlag) {
			this.bgSelectedColor = BG_COLOR_ON;
			setTarget(true);
		} else {
			this.bgSelectedColor = BG_COLOR_OFF;
			setTarget(false);
		}
		repaint();
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人一区在线看| 欧美大片日本大片免费观看| 在线成人免费观看| 欧美极品少妇xxxxⅹ高跟鞋| 亚洲午夜国产一区99re久久| 国产成人免费视频网站| 欧美日精品一区视频| 国产精品午夜在线观看| 日本免费在线视频不卡一不卡二| 国产成人精品三级| 欧美不卡视频一区| 天天综合色天天综合色h| 99热在这里有精品免费| 国产亚洲视频系列| 蜜乳av一区二区| 欧美人妖巨大在线| 亚洲一区二区偷拍精品| 成人av电影在线观看| 久久你懂得1024| 精品一区二区三区免费视频| 欧美中文字幕久久| 亚洲综合视频在线| 91免费在线看| 亚洲图片欧美激情| 91丨国产丨九色丨pron| 成人免费在线视频| jizzjizzjizz欧美| 中文字幕精品三区| 成人精品国产福利| 欧美激情一二三区| 国产.欧美.日韩| 久久精品欧美一区二区三区麻豆 | 亚洲精品乱码久久久久久| 国产高清亚洲一区| 国产亚洲婷婷免费| 成人免费高清在线| 亚洲欧美日韩成人高清在线一区| 99久久婷婷国产综合精品电影| 中文子幕无线码一区tr| 成人精品视频一区二区三区尤物| 中文一区二区完整视频在线观看| 国产成人激情av| 国产精品久久久久三级| 一本久久综合亚洲鲁鲁五月天| 亚洲欧美国产77777| 欧美午夜精品一区| 日本大胆欧美人术艺术动态| 日韩免费视频一区| 粗大黑人巨茎大战欧美成人| 1000精品久久久久久久久| 欧美最猛性xxxxx直播| 日韩成人一级大片| 久久综合久久综合亚洲| gogogo免费视频观看亚洲一| 国产福利一区二区三区视频| 久久久国产精华| 99久久99久久免费精品蜜臀| 亚洲欧美日韩一区二区三区在线观看| 成人黄色大片在线观看| 亚洲成人黄色小说| 欧美tickle裸体挠脚心vk| av毛片久久久久**hd| 亚洲高清免费在线| 日韩色在线观看| 不卡电影一区二区三区| 天天av天天翘天天综合网色鬼国产 | 美女视频免费一区| 国产无一区二区| 欧美亚洲图片小说| 国产伦精一区二区三区| 亚洲免费观看高清在线观看| 日韩欧美资源站| 色88888久久久久久影院按摩| 日本不卡视频在线| 亚洲欧美欧美一区二区三区| 日韩一级片网站| 91丝袜美腿高跟国产极品老师| 久久99在线观看| 亚洲国产欧美日韩另类综合| 国产日韩精品一区二区三区| 欧美日韩成人在线| k8久久久一区二区三区| 久久se这里有精品| 亚洲高清中文字幕| 中文字幕亚洲综合久久菠萝蜜| 日韩欧美国产电影| 欧美性感一区二区三区| 丰满亚洲少妇av| 蜜臀av性久久久久蜜臀aⅴ流畅| 自拍视频在线观看一区二区| 欧美精品一区在线观看| 欧美日韩三级视频| 日本久久电影网| av午夜精品一区二区三区| 黄色日韩三级电影| 日韩福利电影在线| 亚洲高清视频在线| 一区二区三区精密机械公司| 中文字幕成人网| 国产欧美日韩综合精品一区二区| 欧美日韩在线免费视频| 色婷婷亚洲综合| 91麻豆精品在线观看| 成人美女视频在线观看18| 国产一区二区精品在线观看| 久久草av在线| 免费观看91视频大全| 免费看欧美美女黄的网站| 日韩国产欧美视频| 日韩电影在线看| 免费欧美高清视频| 久久99精品网久久| 奇米777欧美一区二区| 日本欧美大码aⅴ在线播放| 天堂在线亚洲视频| 日本免费在线视频不卡一不卡二| 三级欧美韩日大片在线看| 亚洲va国产va欧美va观看| 三级不卡在线观看| 蜜臀av一区二区| 国产伦精品一区二区三区视频青涩| 另类小说色综合网站| 狠狠狠色丁香婷婷综合久久五月| 精品一区二区久久| 国产精品69毛片高清亚洲| 成人美女视频在线看| 91免费在线视频观看| 91成人网在线| 91麻豆精品国产91久久久资源速度| 在线成人免费观看| 精品国产一区二区三区不卡| 久久一区二区三区国产精品| 国产日韩欧美精品电影三级在线| 国产精品色在线观看| 亚洲欧美激情在线| 天使萌一区二区三区免费观看| 午夜电影一区二区三区| 韩国理伦片一区二区三区在线播放| 国产精品一区二区三区99| 91麻豆视频网站| 欧美一区二区三区在线看| 精品国产网站在线观看| 亚洲私人影院在线观看| 爽好久久久欧美精品| 国产成人在线影院 | 亚洲欧洲美洲综合色网| 亚洲午夜精品一区二区三区他趣| 美洲天堂一区二卡三卡四卡视频| 国产激情视频一区二区在线观看| 一本到三区不卡视频| 制服丝袜亚洲播放| 欧美国产丝袜视频| 图片区日韩欧美亚洲| 国产成人亚洲精品青草天美| 欧美日韩国产综合一区二区三区| 久久精品这里都是精品| 亚洲国产视频一区| 粉嫩欧美一区二区三区高清影视 | 亚洲一卡二卡三卡四卡无卡久久 | 日韩三级精品电影久久久| 国产精品入口麻豆九色| 亚洲国产日韩一区二区| 国产成人免费网站| 欧美一区国产二区| 中文字幕在线观看不卡| 蜜桃av一区二区三区电影| 欧洲亚洲国产日韩| 久久精品日韩一区二区三区| 日日嗨av一区二区三区四区| 99久久婷婷国产综合精品| 精品99999| 天堂成人免费av电影一区| 91丨国产丨九色丨pron| 国产欧美一区二区精品忘忧草| 午夜久久久久久| 91搞黄在线观看| 中文字幕亚洲视频| 国精产品一区一区三区mba视频 | 午夜精品久久久久久久99水蜜桃| 国产高清亚洲一区| 日韩欧美的一区| 天天亚洲美女在线视频| 日本高清无吗v一区| 国产精品护士白丝一区av| 国产一区视频网站| 精品蜜桃在线看| 老司机午夜精品| 日韩精品一区在线观看| 日产欧产美韩系列久久99| 欧美视频日韩视频在线观看| 亚洲精品国产精品乱码不99| 成人av第一页| 综合久久久久久| 99r国产精品| 亚洲欧洲美洲综合色网| www.欧美精品一二区| 国产精品视频九色porn| 高清久久久久久| 国产精品电影院| 91麻豆高清视频|