「javaawt画布」java创建画布

博主:adminadmin 2022-12-04 22:21:06 58

本篇文章给大家谈谈javaawt画布,以及java创建画布对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java中如何用画布绘制矩形图形?

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

class Ovalcanvas extends Canvas

{

int N=10;

int x[]=new int[N];

int y[]=new int[N];

Ovalcanvas()

{

setSize(300,200);

setBackground(Color.cyan);

}

public void setOval(int[] x,int[] y,int N)

{

this.N=N;

for(int i=0;iN;i++)

{

this.x[i]=x[i];

this.y[i]=y[i];

}

}

public void paint(Graphics g)

{

g.drawPolygon(x,y,N);

}

}

public class Example6_7 extends JFrame implements ActionListener

{

Ovalcanvas canvas;

TextField in_N;

Button btn;

Example6_7()

{

super("画布上绘制多边形");

setSize(400,300);

setVisible(true);

setDefaultCloseOperation(EXIT_ON_CLOSE);

in_N=new TextField(6);

setLayout(new FlowLayout());

add(new Label("请输入变数:"));

add(in_N);

btn=new Button("确定");

btn.addActionListener(this);

add(btn);

canvas=new Ovalcanvas();

add(canvas);

validate();

}

public void actionPerformed(ActionEvent e)

{

int N=Integer.parseInt(in_N.getText());

int x[]=new int[N];

int y[]=new int[N];

for(int i=0;iN;i++)

{

x[i]=(int)(Math.random()*200);

y[i]=(int)(Math.random()*200);

}

canvas.setOval(x,y,N);

canvas.repaint();

}

public static void main(String[] args)

{

new Example6_7();

}

}

怎么实例化java.awt.Graphics

假如你想在某个JPanel上画图,可以这样写:

private JPanel canvas;//画布

private Graphics2D pen;//绘图工具

private void init(){

canvas = new JPanel();

//以下是画一个白色棋子

pen = (Graphics2D)canvas.getGraphics();

pen.setColor(new Color(230,230,230));

pen.fillRoundRect(dx-35, dy-35, 30, 30, 30, 30);

//或者你也可以重写JPanel的paint方法,以下是对JPanel绘制一个棋盘

// canvas = new JPanel(){

// @Override

// public void paint(Graphics g) {

// // TODO Auto-generated method stub

// super.paint(g);

// Graphics2D pen = (Graphics2D)g;

// pen.setColor(new Color(235,215,195));

// pen.fillRect(0, 10, 650, 640);

// pen.setColor(Color.darkGray);

// pen.setStroke(new BasicStroke(4));

// pen.drawLine(0, 10, 980, 10);

// pen.setStroke(new BasicStroke(2));

// for(int i=0;i=600;i+=40)

// pen.drawLine(30, 30+i, 630, 30+i);

// for(int j=0;j=600;j+=40)

// pen.drawLine(30+j, 30, 30+j, 630);

// }

// };

// }

自己一个一个敲的,很辛苦的哦 ^ _ ^ 希望对你有帮助,不懂可以追问,我尽力

Java在画布上添加图片

Canvas类是AWT包下的。

它有paint方法。

所以我推荐的思路是,覆盖它的paint方法。

比如说:

另外新建一个类MyCanvas,继承Canvas,

然后覆盖paint(Graphics g){ // }

方法体内部这样写

g.drawImage(

new ImageIcon("src/test.jpg").getImage(), 0, 0, 100, 100, this);

}

然后在现在这个类里要用的话,用MyCanvas代替Canvas,要改变绘图的话,只需要调用repaint方法即可。

Java Canvas

从词源可以看出

Canvas,麻布-画布-画油画的画板。

Panel 小块布-块版-面板、墙板、地板

Canvas,直接继承自Component组件,主要用于绘图,没有控件,更原始

Panel,继承自Container容器,主要用于镶嵌在其他控件里面当面板。

由于Java SE版的Canvas和Panel都继承自Component,共用Component的paint(Graphics g)

方式绘制自己的内容。由于使用同一个Graphic类,所以那些drawXXX都一致。

绘制的方式一样,2者的绘制速度就没大区别,

Canvas更适合画全屏的、没有控件的情形。像手机上JavaME就主要用Canvas

Panel适合嵌入到其他控件中使用。

JAVA画布类编程

实现Runnable接口类,new Thread(this).start(); 开启线程自己写个方法 函数外定义一个 long oldTime=System.currentTimeMillis(); //旧的记录时间 if(System.currentTimeMillis()-oldTime30000){//这里面要执行的语句。

oldTime =System.currentTimeMillis();

}

javaawt画布的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java创建画布、javaawt画布的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-04,除非注明,否则均为首码项目网原创文章,转载请注明出处。