「java创建一个新画布」java创建一个新画布怎么做

博主:adminadmin 2022-12-11 10:06:09 73

今天给各位分享java创建一个新画布的知识,其中也会对java创建一个新画布怎么做进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何用java实现在一个画布上画一个像素?

DDA用来画线而不是一个像素点。当然因为其算法肯定要用到画像素点的函数。

DDA称为数值微分画线算法,是直线生成算法中最简单的一种。原理相当简单,就是最直观的根据斜率的偏移程度,决定是以x为步进方向还是以y为步进方向。然后在相应的步进方向上,步进变量每次增加一个像素,而另一个相关坐标变量则为Yk_1=Yk+m(以x为步进变量为例,m为斜率)

绘制一个像素点,java貌似没有相应函数,可以用1个像素的直线代替,或者其他图形,只要是大小一个像素,直线效率最高。

但是我觉得违背了DDA的本意。

不过,只是演示DDA的算法,那不需要考虑画着个像素点的方法,关键在于对前边描述的算法的表达式上

JAVA 编写一个带有窗口的应用程序

这样:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*; 

import java.awt.Graphics; 

public class MainClass extends JFrame {

  public JComboBox box;

  int flag = 0;

  jpNewPanel jpNewPanel; 

  public static void main(String[] args) {

  MainClass frame = new MainClass();

  frame.setBounds(650,300,550,550);

      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

      frame.setTitle("信号灯");

      frame.setVisible(true);

  } 

  public MainClass() {

      box = new JComboBox();

      box.addItem("请选择");

      box.addItem("红灯");

      box.addActionListener(new ActionListener() {

          public void actionPerformed(ActionEvent e) {

              flag = box.getSelectedIndex();

              jpNewPanel.repaint();

          }

      });

      box.addItem("黄灯");

      box.addActionListener(new ActionListener() {

          public void actionPerformed(ActionEvent e) {

              flag = box.getSelectedIndex();

              jpNewPanel.repaint();

          }

      });

      box.addItem("绿灯");

      box.addActionListener(new ActionListener() {

          public void actionPerformed(ActionEvent e) {

              flag = box.getSelectedIndex();

              jpNewPanel.repaint();

          }

      });

      add(box, BorderLayout.NORTH);

      jpNewPanel = new jpNewPanel();

      add(jpNewPanel, BorderLayout.CENTER);

  }

  class jpNewPanel extends JPanel {

      protected void paintComponent(Graphics g) {

          super.paintComponent(g);

          g.drawOval(150, 0, 120, 120);

          if (flag == 1) {

              g.setColor(Color.RED);

              g.fillOval(150, 0, 120, 120);

          } else if (flag == 2) {

              g.setColor(Color.YELLOW);

              g.fillOval(150, 0, 120, 120);

          } else if (flag == 3) {

              g.setColor(Color.GREEN);

              g.fillOval(150, 0, 120, 120);

          }

      }

  }

}

扩展资料:

注意事项

每个Road对象都有一个name成员变量来代表方向,有一个vehicles成员变量来代表方向上的车辆集合。

在Road对象的构造方法中启动一个线程每隔一个随机的时间向vehicles集合中增加一辆车(用一个“路线名_id”形式的字符串进行表示)。

在Road对象的构造方法中启动一个定时器,每隔一秒检查该方向上的灯是否为绿,是则打印车辆集合和将集合中的第一辆车移除掉。

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编写画图工具

要求比较多阿 给你个简单的供参考

import java.awt.*;

import java.awt.event.*;

class Mycanvas extends Canvas

{ int x,y,r;

Mycanvas()

{ setBackground(Color.cyan);

}

public void setX(int x)

{ this.x=x;

}

public void setY(int y)

{ this.y=y;

}

public void setR(int r)

{ this.r=r;

}

public void paint(Graphics g)

{ g.drawOval(x,y,2*r,2*r); //通过Graphics对象画圆

}

}

class WindowCanvas extends Frame implements ActionListener

{ Mycanvas canvas;

TextField inputR,inputX,inputY;

Button b;

WindowCanvas()

{ canvas=new Mycanvas();//创建画布对象

inputR=new TextField(5);

inputX=new TextField(4);

inputY=new TextField(4);

Panel pNorth=new Panel(), pSouth=new Panel();//创建两个面板

pNorth.add(new Label("圆的位置坐标:"));

pNorth.add(inputX);

pNorth.add(inputY);

pSouth.add(new Label("圆的半径:"));

pSouth.add(inputR);

b=new Button("确定");

b.addActionListener(this);

pSouth.add(b);

add(canvas,BorderLayout.CENTER); //添加画布对象到中央区域

add(pNorth,BorderLayout.NORTH);

add(pSouth,BorderLayout.SOUTH);

setBounds(100,100,300,200);

setVisible(true);

}

public void actionPerformed(ActionEvent e)

{ int x,y,r;

try { x=Integer.parseInt(inputX.getText());

y=Integer.parseInt(inputY.getText());

r=Integer.parseInt(inputR.getText());

canvas.setX(x); //设置自定义画布对象的实例变量x

canvas.setY(y);//设置自定义画布对象的实例变量y

canvas.setR(r);//设置自定义画布对象的实例变量r

canvas.repaint();//重画自定义画布对象

}

catch(NumberFormatException ee)

{ x=0;y=0;r=0;

}

}

}

public class Example18

{ public static void main(String args[])

{ new WindowCanvas();

}

}

java如何在画布上添加图片

首先java画布是一个容器,要在容器里面添加组件或者图片需要先导入或者声明组件

然后将组件添加到容器中。

具体实现:

Icon ic=new ImageIcon("load.jpg");

JLabel lb=new JLabel(ic);

JPanel p=new JPanel();

p.add(lb);

这样就可以了。

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

The End

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