Java取色器1.1绿色无毒版-

Java取色器1.1绿色无毒版-

0 次下载 WIN软件 安全检测通过

软件截图

软件参数

软件大小: 95KB
软件语言: 中文
软件平台: 中文
软件版本: 1.1绿色无毒版

软件介绍

使用上稍微不太习惯,但总比到各个不靠谱的下载站下载个病毒的软件要好多了,鼠标点选要获取的地方,然后点击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\n和PS里的拾色器功能类似,但是使用方便,不用先截图再打开PS了,希望你能喜欢。\n想知道鼠标在的这一点的颜色吗?点下ALT键看看吧。\n如果你在使用过程中有了什么主意的话,请告诉我一下,谢谢。\nE-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);

}

}