📄 tjcolorchooser.java
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -