java+取色器_用JAVA语言编写的取色器

//=====JAVA取色器 ColorDialog 使用例程的源程序=======

import java.awt.*;

import java.awt.event.*;

import java.applet.* ;

class SetObjectColor extends Applet

{

/*

public static void main(String args[])

{

new ColorObjectFrame();

}

*/

public void init()

{

new ColorObjectFrame();

}

}

class ColorObjectFrame extends Frame implements ActionListener, MouseListener

{

Button btnColor1=new Button(" 方式 1 ") ,

btnColor2=new Button(" 方式 2 "),

btnColor3=new Button(" 方式 2 ");

Label labColor =new Label (" 方式 2 ");

Canvas cavColor1=new Canvas( ),

cavColor2=new Canvas( ),

cavColor3=new Canvas( ),

cavColor4=new Canvas( );

Graphics offGraphics ;

ColorDialog ClrDilg1,ClrDilg2;

ColorObjectFrame()

{

move(300,150);

setTitle("颜色设置 方式2按右键弹出");

setName("ColorObjectFrame");

setSize(250,280);

setResizable(false);

setBackground(Color.gray.brighter());

setFont(new Font( "",Font.PLAIN ,18));

setLayout(new BorderLayout());

Panel p1=new Panel();

Panel p2=new Panel();

add("Center",p1);

add("South",p2);

p1.setLayout(new FlowLayout());

p1.add( btnColor1);

p1.add( btnColor2);

p1.add( btnColor3);

p1.add( labColor);

p2.setLayout(new GridLayout (2,2));

cavColor1.setSize(1,40);

p2.add( cavColor1); cavColor1.setBackground(Color.red);

p2.add( cavColor2);cavColor2.setBackground(Color.yellow);

p2.add( cavColor3);cavColor3.setBackground(Color.blue);

p2.add( cavColor4);cavColor4.setBackground(Color.green);

btnColor1.addActionListener(this);

//btnColor2.addActionListener(this);

btnColor2.addMouseListener(this);

btnColor3.addMouseListener(this);

cavColor1.addMouseListener(this);

cavColor2.addMouseListener(this);

cavColor3.addMouseListener(this);

cavColor4.addMouseListener(this);

addWindowListener( new CloseWin());

show()

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==btnColor1)

{

// 方式1:不需要注册颜色对象,同VB中Windows的取色器用法相同.

// 参数 boolean isMolde 必需取 true.

if(ClrDilg1==null)

ClrDilg1=new ColorDialog(this,"颜色1 ",true);

ClrDilg1.setColor(btnColor1.getBackground());

ClrDilg1.show();

if(ClrDilg1.getColor()!=null)

btnColor1.setBackground(ClrDilg1.getColor());

//setColor与方式1 相配;

//使用,则在取色板显示该颜色的数值;也可不使用.

//getColor()与方式1 相配;

}

}

public void mousePressed(MouseEvent e)

{ //"按下

Object obj;

obj=e.getSource();

if(e.getModifiers()==MouseEvent.BUTTON1_MASK )

{ //"按下左键"

//repaint();

if(ClrDilg2!=null && ClrDilg2.isShowing())

{

if(obj.toString().indexOf("Button")>=0 || obj.toString().indexOf("Canvas")>=0)

{

ClrDilg2.setResizable(true);

ClrDilg2.setObject(obj,false);

//与方式2 相配.obj可以是具体的对象名如:cavColor1;

//true: 在取色板显示对象obj的原有颜色的数值;

//false: 不改变取色板中的原有取色.

}

}

}

if(e.getModifiers()==MouseEvent.BUTTON3_MASK)

{ // "按下右键";

if(obj.toString().indexOf("Button")>=0 ||

obj.toString().indexOf("Canvas")>=0)

{

// 方式2:需要注册颜色对象.参数 boolean isMolde 一般取 false

if(ClrDilg2==null)

ClrDilg2=new ColorDialog(this,"颜色2 ",false);

ClrDilg2.setObject(obj,true);

ClrDilg2.show();

//与方式2 相配.obj可以是具体的对象名如:cavColor1;

//true: 在取色板显示对象obj的原有颜色的数值;

//false: 不改变取色板中的原有取色.

}

}

}

public void mouseReleased(MouseEvent e){ } //"放开"

public void mouseEntered(MouseEvent e){ }//"进入";

public void mouseExited(MouseEvent e){ }//"退出";

public void mouseClicked(MouseEvent e){ }// if(e.getClickCount()==1) //"单击"

}

class CloseWin extends WindowAdapter

{

public void windowClosing(WindowEvent e)

{

if(e.toString().indexOf("Dialog")>=0 )

{

Dialog frm=(Dialog)(e.getSource());

frm.dispose();

}

if(e.toString().indexOf("Frame")>=0 )

{

Frame frm=(Frame)(e.getSource());

frm.dispose();

if(frm.getName().equals("ColorObjectFrame") )

System.exit(0);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值