java canvas repaint_【求助】关于在java界面的问题 canvas,repaint,paint

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

import org.eclipse.swt.widgets.Composite;import org.eclipse.swt.SWT;import java.awt.Frame;import org.eclipse.swt.awt.SWT_AWT;

import java.awt.Canvas;

import java.awt.Dimension;

import java.awt.Event;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.GridLayout;import java.awt.Panel;import java.awt.BorderLayout;import java.awt.Point;

import javax.swing.*;import java.awt.Color;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.io.Serializable;

import javax.swing.JLabel;import javax.swing.JTextField;import javax.swing.JButton;import com.jgoodies.forms.factories.DefaultComponentFactory;

public class showarea extends JPanel {JRootPane jframe=null;Point point =null;Drawing draw;public showarea(JRootPane jr) {super();setBackground(Color.CYAN);setSize(782, 526);setLayout(null);CoordinateArea coordinateArea = new CoordinateArea(jr);coordinateArea.setBounds(0, 0, 782, 526);add(coordinateArea);validate();//addMouseMotionListener(new MouseB());// createNewitem();//validate();}/*public boolean mouseDown(Event event ,int x, int y){if(point==null){point =new Point(x,y);

}else{point.x=x;point.y=y;}repaint();return false;}void draw(Graphics2D g2d , Drawing i){i.draw(g2d);}public void paint(Graphics g){//super.paint(g);super.paintComponents(g);if(point!=null){Graphics2D g2d=(Graphics2D) g;draw=new fillCircle();draw.x1=point.x;draw.y1=point.y;draw(g2d,draw);//super.paint(g);}}*//*public void paint(Graphics g){if(point !=null){g.setColor(Color.PINK);g.fillRect(point.x-5, point.y-5, 10, 10);}}*/

}class CoordinateArea extends Canvas{Point point =null;JRootPane controller;public CoordinateArea(JRootPane controller){super();this.controller=controller;System.out.println("2");

}public boolean mouseDown(Event event ,int x, int y){if(point==null){point =new Point(x,y);

}else{point.x=x;point.y=y;}repaint();return false;}void draw(Graphics2D g2d , Drawing i){i.draw(g2d);}public void paint(Graphics g){super.paint(g);if(point!=null){Graphics2D g2d=(Graphics2D) g;Drawing draw=new fillCircle();draw.x1=point.x;draw.y1=point.y;draw(g2d,draw);}}/*public void paint(Graphics g){if(point !=null){g.setColor(Color.PINK);g.fillRect(point.x-5, point.y-5, 10, 10);}}*/}class Drawing implements Serializable {

int x1,y1,x2,y2; //定义坐标属性String s1;//定义字体的风格

void draw(Graphics2D g2d ){}//定义绘图函数}

class Line extends Drawing//直线类{void draw(Graphics2D g2d) {g2d.setPaint(Color.pink);// 为 Graphics2D 上下文设置 Paint 属性。g2d.drawLine(x1, y1, x2, y2);// 画直线super.draw(g2d);}}

class fillCircle extends Drawing{//实心圆类void draw(Graphics2D g2d ){g2d.setPaint(Color.pink);g2d.fillOval(x1-15,y1-15,30,30);}}

class Word extends Drawing{//输入文字类void draw(Graphics2D g2d ){g2d.setPaint(Color.pink);g2d.setFont(new Font("微软雅黑", Font.BOLD, 15));//设置字体 if(s1 != null)g2d.drawString( s1, x1,y1);}}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值