前文;在一个drawUI类中建立一个窗口,窗口里面实现添加按钮和画图的功能,能够点击相应的按钮便会出现与之相对应的图形,通过操作鼠标进行绘图。
一.创建一个darwUI类,建立一个窗口
public class drawUI extends JFrame{
public void initUI() {
//创建出一个窗口
this.setTitle("绘制图像");
this.setSize(1000,800);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// setVisible(true);
//布局方式
FlowLayout flow=new FlowLayout();
setLayout(flow);
setVisible(true);
}
}
由于drawUI类继承了JFrame,所以无须创建对象,可直接调用,现在在initUI方法外建立两个数组,这两个数组会用于按钮的名字。
public class drawUI extends JFrame {
String str[]={"直线","矩形","三角形","多边形","圆","实心矩形","实心圆","签字笔","橡皮擦","打开","关闭"};
Color strc[]={Color.CYAN,Color.BLUE,Color.WHITE,Color.BLACK,Color.GREEN};
}
2.创建一个类去声明监听器
ActionListener动作监听器
public class DrawListener implements ActionListener{
public void actionPerformed(ActionEvent e){
}
}
在该接口的方法中重写自己想写的方法
public void actionPerformed(ActionEvent e){
//获取按钮上的字符command
String btr=e.getActionCommand();
//在点击按钮之后,获取按钮的值赋值给shapeStr
shapeStr=btr;
//判断是否为空字符
if(shapeStr.equals("")){
//从按钮上获取颜色信息
JButton jButton=(JButton)e.getSource();
//通过颜色信息获取按钮的背景颜色
Color color=jButton.getBackground();
//将颜色赋值给画笔
g.setColor(color);
}else {
shapeStr=btr;
}
System.out.println(btr+"按钮被点击了");
}
鼠标监听器
public class DrawListener implements MouseListener{}
重写方法
public void mouseClicked(MouseEvent e);
/**
* Invoked when a mouse button has been pressed on a component.
点击
*/
public void mousePressed(MouseEvent e);
/**
* Invoked when a mouse button has been released on a component.
按下
*/
public void mouseReleased(MouseEv