tjcolorchooser.java

来自「这是一个颜色选择的java工具」· Java 代码 · 共 109 行

JAVA
109
字号
package a;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import javax.swing.Box;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JDialog;

public class TJColorChooser extends JApplet
{
	Container container=null;
	DrawingPanel panel=null;
	JColorChooser colorChooser=null;
	JDialog dialog=null;
	int oldx,oldy,newx,newy;
	Color color=null;
	public void init()
	{
		container=this.getContentPane();
		panel=new DrawingPanel();
		container.add(panel);
		JButton showButton=new JButton("select color");
		showButton.addActionListener(new ButtonListener());
		Box hBox=Box.createHorizontalBox();//以不可见组件填满间隙
		hBox.add(Box.createHorizontalGlue());
		hBox.add(showButton);
		hBox.add(Box.createHorizontalGlue());
		container.add(hBox,BorderLayout.SOUTH);
		
		colorChooser=new JColorChooser();
		dialog=JColorChooser.createDialog(container,"Color chooser",false,colorChooser,new ButtonListener(),new ButtonListener());
	}
	
	class DrawingPanel extends Panel
	{
		public DrawingPanel()
		{
			setBackground(Color.white);
			MyMouseListener mouseListener=new MyMouseListener();
			addMouseListener(mouseListener);
			addMouseMotionListener(mouseListener);
		}
		public void update(Graphics g)
		{
			g.setColor(color);
			paint(g);
		}
		public void paint(Graphics g)
		{
			g.drawLine(oldx,oldy,newx,newy);
		}
	}
	
	class ButtonListener implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			JButton button=(JButton)e.getSource();
			if(button.getText().equals("select color"))
			{
				dialog.show();
			}
			if (button.getText().equals("确定"))
			{
				color=colorChooser.getColor();
			}
			else if(button.getText().equals("取消"))
			{
				dialog.dispose();
			}
		}
	}
	
	class MyMouseListener extends MouseAdapter implements MouseMotionListener
	{
		public void mousePressed(MouseEvent e)
		{
			oldx=e.getX();
			oldy=e.getY();
			newx=e.getX();
			newy=e.getY();
			panel.repaint();
		}
		public void mouseDragged(MouseEvent e)
		{
			oldx=newx;
			oldy=newy;
			newx=e.getX();
			newy=e.getY();
			panel.repaint();
		}
		public void mouseMoved(MouseEvent e)
		{
			
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?