java鼠标点击事件实现画圆画方

您所在的位置:网站首页 java按钮点击事件 java鼠标点击事件实现画圆画方

java鼠标点击事件实现画圆画方

2023-03-24 20:48| 来源: 网络整理| 查看: 265

/* 7.编写Java程序,创建一个窗体,并实现交互。 *在窗体内“单击鼠标左键”,在光标处绘制一个“红色圆”; *窗体内“单击鼠标右键”,在光标处绘制一个“绿色方框”; *窗体内“双击鼠标左键”,清空所有已画“圆”和“方”。 */ import javax.swing.JFrame; import javax.swing.JPanel; import java.awt.Color; import java.awt.Graphics; import javax.swing.*; import java.awt.event.*; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; public class CircleSquare extends JFrame { myPanel mp=new myPanel(); CircleSquare (){ this.setBounds(100,100,200,200); this.setTitle("左键画圆,右键画方"); this.add(mp); this.getContentPane().addMouseListener(new draw()); } public static void main(String[] args) { CircleSquare frm=new CircleSquare (); frm.setVisible(true); } class myPanel extends JPanel{ int a=0;//判断鼠标点击状态 int x,y;//判断位置 public void paint(Graphics g){ if(a==1){ g.setColor(Color.RED);//点击左键,画红色圆 g.fillOval(x,y,10,10); } else if(a==2){//双击清除 g.setColor(Color.WHITE); super.paint(g); } else if(a==3){//单机右键,画方框 g.setColor(Color.GREEN); g.drawRect(x,y,10,10); } } } class draw extends MouseAdapter{ public void mouseClicked(MouseEvent e){ final myPanel mp=(myPanel)e.getSource(); mp.x=e.getX(); mp.y=e.getY(); if(e.getButton()==e.BUTTON1){//单击左键 mp.a=1; if(e.getClickCount() == 2){//双击 mp.a=2; } mp.repaint(); } else if(e.getButton()==e.BUTTON3){//单击右键 mp.a=3; mp.repaint(); } } } }

这个运行出来只是一个窗体,鼠标点击毫无反应,想知道哪里出问题了,我是四处搜集资料写的这个程序, 什么都不懂,感觉是不是监听器没有发挥作用啊

img



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3