java提取屏幕颜色
上一篇 / 下一篇 2008-03-17 00:49:47 / 天气: 晴朗 / 心情: 高兴 / 个人分类:Java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package net.pallove.test;
import java.awt.AWTException;
import java.awt.Color;
import java.awt.Robot;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import javax.swing.JFrame;
import javax.swing.JLabel;
/**
*
* @author leon
*/
public class DropColor {
public static Boolean isKeyDown = false;
public static void main(String[] args) throws AWTException {
final JFrame. f = new JFrame("Capture the system color");
f.setSize(430, 200);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(new JLabel("Press the Alt key and drag from the window content to drop the pixel color"));
f.setFocusable(true);
f.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if (e.isAltDown()) {
DropColor.isKeyDown = true;
}
}
@Override
public void keyReleased(KeyEvent e) {
DropColor.isKeyDown = false;
}
});
f.addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseDragged(MouseEvent e) {
if (DropColor.isKeyDown) {
showColor(e);
}
}
private void showColor(MouseEvent e) {
int evtX = e.getXOnScreen();
int evtY = e.getYOnScreen();
try {
Robot robot = new Robot();
Color c = robot.getPixelColor(evtX, evtY);
f.getContentPane().setBackground(c);
f.setTitle(c.toString().replaceAll("[a-z]+\\.", ""));
} catch (Exception ex) {
}
}
});
f.setVisible(true);
}
}
关键还是Robot这个好玩的东东,呵呵
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package net.pallove.test;
import java.awt.AWTException;
import java.awt.Color;
import java.awt.Robot;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import javax.swing.JFrame;
import javax.swing.JLabel;
/**
*
* @author leon
*/
public class DropColor {
public static Boolean isKeyDown = false;
public static void main(String[] args) throws AWTException {
final JFrame. f = new JFrame("Capture the system color");
f.setSize(430, 200);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(new JLabel("Press the Alt key and drag from the window content to drop the pixel color"));
f.setFocusable(true);
f.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if (e.isAltDown()) {
DropColor.isKeyDown = true;
}
}
@Override
public void keyReleased(KeyEvent e) {
DropColor.isKeyDown = false;
}
});
f.addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseDragged(MouseEvent e) {
if (DropColor.isKeyDown) {
showColor(e);
}
}
private void showColor(MouseEvent e) {
int evtX = e.getXOnScreen();
int evtY = e.getYOnScreen();
try {
Robot robot = new Robot();
Color c = robot.getPixelColor(evtX, evtY);
f.getContentPane().setBackground(c);
f.setTitle(c.toString().replaceAll("[a-z]+\\.", ""));
} catch (Exception ex) {
}
}
});
f.setVisible(true);
}
}
关键还是Robot这个好玩的东东,呵呵
相关阅读:
- JAVA面试笔试题大汇总 (逍遥云, 2007-6-21)
