java代码实现鼠标双击出现画图
- 作者: 五速梦信息网
- 时间: 2026年04月04日 13:36
总结:在运行过程中,自己不是很认真,没有检查自己写的代码,结果是无论你怎么运行,双击
frame都没用,因为系统根本就没有调用paint()方法绘图。所以很重要的是实现这个方法
package com.a.b; import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Paint;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Random;
///练习监听的
import javax.swing.*;//
//实现鼠标双击时画圆,运用画图
class Shape extends JFrame { //设置图形的坐标
int x,y;
public Shape(){
JLabel jl=new JLabel("你是我的信仰");
jl.setForeground(Color.yellow);
JLabel jl2=new JLabel("你是冬天里的太阳");
jl2.setForeground(Color.red);
JPanel jp=new JPanel();
//看到冒这些字体什么都没显示在fraem
jp.add(jl2);
jp.add(jl);
jp.setBackground(Color.green);//设置frame的背景色 this.add(jp);
this.setBounds(100, 200, 500, 500);
this.setDefaultCloseOperation(3);
ini();
this.setVisible(true); }
Random r=new Random(); public void paint(Graphics g) {//////////我终于明白了,这个画图的方法不是普通的方法,是自带的,小写的才可以被自动调用
g.setColor(new Color(r.nextInt(255),r.nextInt(255),r.nextInt(255)));//否则是根本画不出来图形
//画圆。长方形,椭圆。直线。实心圆
g.fillOval(x, y, 44, 44);//实心圆
g.drawOval(x, y-32, 32, 32);//空心圆
//g.drawRect( x, y-22, 55,55);
g.drawLine(x, y, 44, 44);//这是一条直线
g.drawString("hello world!!!", 300, 300);
} public void ini(){
this.setBackground(Color.yellow);//
this.addMouseListener(new MouseListener (){
//这里使用匿名的内部类来实现对frame的监听动作 @Override
public void mouseClicked(MouseEvent e) {
if(e.getClickCount()>=2){
x=e.getX();
y=e.getY();
repaint();
} } @Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub } @Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub } @Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub } @Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub }}); }
//开始画圈 } public class Tuxing {
public static void main(String[] args) {
new Shape().ini();
}
}
- 上一篇: java导入shapefile到postgis
- 下一篇: Java代码三级跳——表达式、语句和代码块
相关文章
-
java导入shapefile到postgis
java导入shapefile到postgis
- 互联网
- 2026年04月04日
-
java的string类怎么互相比较
java的string类怎么互相比较
- 互联网
- 2026年04月04日
-
java的集合框架之一
java的集合框架之一
- 互联网
- 2026年04月04日
-
Java代码三级跳——表达式、语句和代码块
Java代码三级跳——表达式、语句和代码块
- 互联网
- 2026年04月04日
-
Java代理之jdk动态代理+应用场景实战
Java代理之jdk动态代理+应用场景实战
- 互联网
- 2026年04月04日
-
Java代理(静态代理、JDK动态代理、CGLIB动态代理)
Java代理(静态代理、JDK动态代理、CGLIB动态代理)
- 互联网
- 2026年04月04日






