Java学习进程3简易画图工具实现步骤画图工具1.展示画图工具的界面2.监听器鼠标监听器方法3.画笔在界面程序中显示图形内容图形内容显示在哪个组件上画笔就从该组件上获取监听器1.事件源当前动作所发生的组件(swing)窗体2.监听器鼠标监听器方法addMouseListener()3.绑定事件处理类作用域一对大括号就是一个独立作用域{}引用传递一个类想用另一个类的里的组件/对象example在简易画图工具中显示直线矩形等腰三角形图形效果DrawUI类packagecom.yw.oop0508;importjavax.swing.*;importjava.awt.*;/** * author YAN * date 2026/5/8 20:31 * description 画图工具 */publicclassDrawUI{//显示画图工具的界面publicvoidshowUI(){JFramejfnewJFrame();jf.setSize(800,800);jf.setTitle(画图工具);jf.setLocationRelativeTo(null);jf.setDefaultCloseOperation(3);jf.setVisible(true);//画笔从窗体上获取画笔对象一定要在窗体显示可见之后Graphicsgjf.getGraphics();//给窗体添加鼠标监听器方法DrawListenerlistenernewDrawListener();jf.addMouseListener(listener);//传递画笔对象glistener.grg;}publicstaticvoidmain(String[]args){DrawUIuinewDrawUI();ui.showUI();}}DrawListener类packagecom.yw.oop0508;importjava.awt.*;importjava.awt.event.MouseEvent;importjava.awt.event.MouseListener;/** * author YAN * date 2026/5/8 20:53 * description 实现接口implements * 实现接口一定要重写接口中所有的抽象方法 */publicclassDrawListenerimplementsMouseListener{//引用传递publicGraphicsgr;//保存传递过来的画笔对象//定义全局变量publicintx1,y1,x2,y2;publicvoidmouseClicked(MouseEvente){System.out.println(点击);}publicvoidmousePressed(MouseEvente){System.out.println(按下);//获取当前坐标值//局部变量1.在方法作用域中定义的变量 2.方法的参数x1e.getX();y1e.getY();}publicvoidmouseReleased(MouseEvente){System.out.println(松开);x2e.getX();y2e.getY();//绘制线段// gr.drawLine(x1, y1, x2, y2);//绘制矩形// gr.drawRect(x1, y1, x2, y2);//绘制等腰三角形intdx2-x1;gr.drawLine(x1,y1,x2,y2);gr.drawLine(x1,y1,2*x1-x2,y2);gr.drawLine(2*x1-x2,y2,x2,y2);}publicvoidmouseEntered(MouseEvente){}publicvoidmouseExited(MouseEvente){}}注编写三角形时的画图