「javaawt画布」java创建画布
本篇文章给大家谈谈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画布的信息别忘了在本站进行查找喔。
发布于:2022-12-04,除非注明,否则均为
原创文章,转载请注明出处。