使用上稍微不太习惯,但总比到各个不靠谱的下载站下载个病毒的软件要好多了,鼠标点选要获取的地方,然后点击alt即可获取到颜色值
效果图如下:
Java取色器开发背景:
自己的想法能用各种代码的组合实现出来,真的很有成就感啊,哈哈。
在你想要的颜色上面点下ALT键,就这么简单。
.exe文件使用exe4j做的,在我的机子上能用,没有别的机子进行测试,要是不能用,请通知我。
今天对前几天做的取色器进行了修改,去掉了一大堆重复的代码,添加了一个JLabel,可以对选中的颜色进行即时显示,防止点错,欢迎大家的使用。
经过了这么多天,我对面向对象还是不是很明白,写的代码的结构也不好,谁能帮我改一下啊,谢谢了。
更新日志:
v1.1
终于回到家了,对前几天做的取色器进行了修改,去掉了一大堆重复的代码,
添加了一个JLabel,可以对选中的颜色进行即时显示,防止点错,欢迎大家的使用。
经过了这么多天,对面向对象还是不是很明白,写的代码的结构也不好,谁能帮我改一下呢?
v1.0
经过这么多天的学习,这是我做出的第一个JAVA程序。自己的想法能用各种代码的组合实现出来,真的很有成就感啊,哈哈。
在你想要的颜色上面点下ALT键,就这么简单。
等有空了,我还想在这上面多加点功能,如果你有了好的想法,请告诉我一下。
谢谢。
代码如下:
Java code
/**Java取色器 v1.1
终于回到家了,对前几天做的取色器进行了修改,去掉了一大堆重复的代码,
添加了一个JLabel,可以对选中的颜色进行即时显示,防止点错,欢迎大家的使用。
**/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.MouseInfo.*;
import java.awt.datatransfer.*; 
public class ColorTest extends JFrame implements ActionListener,KeyListener
{
Robot robot;
Point mousepoint;
Integer R=0,G=0,B=0;
Integer X=0,Y=0;
Color pixel = new Color(0,0,0);
String s16="";
MouseInfo mouseinfo=null;
JLabel JR,JG,JB,JX,JY,J16,JCol;
JTextField JTFR,JTFG,JTFB,JTFX,JTFY,JTF16;
JButton JCopy,JExit;
JPanel pix=new JPanel(),zb=new JPanel(),pb=new JPanel();
//主窗口上菜单的建造。
public void setMenuBar()
{
JMenuBar myBar=new JMenuBar();
JMenu helpMenu=new JMenu("帮助");
JMenuItem help_About=new JMenuItem("关于");
this.setJMenuBar(myBar);
myBar.add(helpMenu);
helpMenu.add(help_About);
help_About.addActionListener(this);
}
//界面各种组件的初始化以及布局。
public void ColorTest()
{
setTitle("DarkMao"); 
JR=new JLabel("R: ");
JG=new JLabel("G: ");
JB=new JLabel("B: ");
JX=new JLabel("X: ");
JY=new JLabel("Y: ");
J16=new JLabel("十六进制表示:");
JCol=new JLabel("■■■■■");
JTFR=new JTextField(5);
JTFG=new JTextField(5);
JTFB=new JTextField(5);
JTF16=new JTextField(6);
JTFX=new JTextField(5);
JTFY=new JTextField(5);
JCopy=new JButton("复制");
JExit=new JButton("退出");
setFocusable(true);
addKeyListener(this);
JCopy.addActionListener(this);
JExit.addActionListener(this);
JCopy.addKeyListener(this);
JExit.addKeyListener(this);
JTFR.addKeyListener(this);
JTFG.addKeyListener(this);
JTFB.addKeyListener(this);
JTF16.addKeyListener(this);
JTFX.addKeyListener(this);
JTFY.addKeyListener(this);
pix.setLayout(new FlowLayout());
zb.setLayout(new FlowLayout());
pb.setLayout(new FlowLayout());
pix.add(JR);
pix.add(JTFR);
pix.add(JG);
pix.add(JTFG);
pix.add(JB);
pix.add(JTFB);
zb.add(JX);
zb.add(JTFX);
zb.add(JY);
zb.add(JTFY);
pix.add(JCol);
pix.add(J16);
pix.add(JTF16);
pb.add(JCopy);
pb.add(JExit);
setLayout(new BorderLayout());
add(pix,BorderLayout.CENTER);
add(zb,BorderLayout.NORTH);
add(pb,BorderLayout.SOUTH);
}
//把当前选中的颜色的十六进制表示复制到系统的剪贴板中,方便使用。
//输入的参数就是待放入剪贴板的数据。
public static void setClipboard(String str) 
{ 
StringSelection ss = new StringSelection(str); 
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null); 
} 
//对按钮和菜单进行响应。
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==JCopy) 
{ if(s16=="")
{
JOptionPane.showMessageDialog(null,"请在你想要的颜色上面按Alt键进行选取。","提示",JOptionPane.INFORMATION_MESSAGE);
}
else
{
setClipboard(s16);
JOptionPane.showMessageDialog(null,"你所选取的16进制颜色代码 "+s16+" 已经复制到剪贴板中,请在你想用的地方按Ctrl+V粘贴。","提示",JOptionPane.INFORMATION_MESSAGE);
}
} 
else if(e.getSource()==JExit) 
{ 
JOptionPane.showMessageDialog(null,"谢谢您的使用,这是我用java做的第一个小程序,如果你在使用过程用有了什么好玩的想法,一定要告诉我啊!","谢谢使用",JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
} 
if(e.getActionCommand()=="关于")
JOptionPane.showMessageDialog(this,"DarkMao 取色器 1.0 和PS里的拾色器功能类似,但是使用方便,不用先截图再打开PS了,希望你能喜欢。想知道鼠标在的这一点的颜色吗?点下ALT键看看吧。如果你在使用过程中有了什么主意的话,请告诉我一下,谢谢。 E-mail: 2whol@163.com","关于我",JOptionPane.INFORMATION_MESSAGE);
}
//当按键放开的时候才对案件进行响应,如果不想一下一下的点,
//可以把里边的代码剪切到keyPressed()中,这样只要按下alt键同时移动鼠标就可以了。
public void keyReleased(KeyEvent e)
{
//int code=e.getKeyCode();
//System.out.println(code);
if(e.getKeyCode()==18)
{
try{
Robot robot = new Robot();
mousepoint = mouseinfo.getPointerInfo().getLocation();
//System.out.println(mousepoint);
pixel = robot.getPixelColor(mousepoint.x,mousepoint.y);
X = mousepoint.x;
Y = mousepoint.y;
R = pixel.getRed();
G = pixel.getGreen();
B = pixel.getBlue();
JTFR.setText(R.toString());
JTFG.setText(G.toString());
JTFB.setText(B.toString());
JTFX.setText(X.toString());
JTFY.setText(Y.toString());
//System.out.println(pixel);
s16="#"+Integer.toHexString(R)+Integer.toHexString(G)+Integer.toHexString(B);//得到颜色的十六进制表示。
JTF16.setText(s16);
Color col=new Color(R,G,B);
JCol.setForeground(col);//对当前选中的颜色进行显示。
}catch(AWTException ex)
{
ex.printStackTrace();
} 
} 
}
public void keyTyped(KeyEvent e)
{
}
public void keyPressed(KeyEvent e) 
{
}
}
class CT
{
public static void main(String[] args)
{
ColorTest ct = new ColorTest();
ct.setMenuBar();
ct.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ct.setSize(300,200);
ct.setLocation(200,200);
ct.ColorTest();
ct.setVisible(true);
}
}
 
         EV录屏  v5.3.7
                                        EV录屏  v5.3.7
                                     嗨格式录屏大师软件  最新官方版 v3.20.1014.244
                                        嗨格式录屏大师软件  最新官方版 v3.20.1014.244
                                     Camtasia Studio  官方最新版 v2020.0.1
                                        Camtasia Studio  官方最新版 v2020.0.1
                                     福昕录屏大师  官方版 v1.0.1015.001
                                        福昕录屏大师  官方版 v1.0.1015.001
                                     傲软录屏软件  官方版 v1.4.16.7
                                        傲软录屏软件  官方版 v1.4.16.7
                                     拍大师  官方版 v8.4.4.0
                                        拍大师  官方版 v8.4.4.0
                                     
                                                             
                                                             
                                                             
                                                             
                                                             
                                                             
                                                             
                                                             
     
                                         
                                         
                                         
                                         
                                         
                                         
                                         
                                         
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                 
                                 
                                 
                                 
                                 
                                 
                                