「java画正方形」java怎么画图形

博主:adminadmin 2023-03-17 03:42:08 443

本篇文章给大家谈谈java画正方形,以及java怎么画图形对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java编程:怎么画一个正方形?

import java.awt.*;

import javax.swing.*;

public class DrawRectTest extends JFrame

{

//定义方法

public DrawRectTest()

{

//实例化对象

GPanel g=new GPanel();

this.getContentPane().add(g);

this.setSize(500,500);

this.setVisible(true);

}

//主函数

public static void main(String[] args)

{

new DrawRectTest();

}

}

//声明一个GPanel

class GPanel extends JPanel

{

//Graphics这个是抽象类,它的对象是用来传给paint()方法作为画笔的

public void paintComponent(Graphics g)

{

int w;//横坐标

int h;//纵坐标

for(int i=1;i=10;i++)

{

h=30;

w=10;

for(int j=1;j=10;j++)

g.drawRect(w=w+20, h, 20, 20);

}

}

}

JAVA J2M在屏幕上绘制一个黑色正方形

首先说,你的程序我没有拿来编译运行。只从源码看,就有一些问题。

从整体结构上看,程序架构应该是没有什么问题的。可各函数功能设计有明显问题,而且编程技巧上也不太高明。

你的线程run调用rapaint,paint调用move,这样不好。应该是run计算坐标,然后直接调用repaint,在paint中仅需要使用Graphics绘制就可以了。

在计算坐标时,使用了switch结构和if嵌套代码多,效率低。我以前编写类似广场漂移代码时,用的方法是:声明2个变量xStep、yStep,用于控制方块运动步长,线程每次休眠结束后,分别检查x、y是否到达边界,如x到达,将xStep取相反数;如y到达,将yStem取相反数。再将x+=xStemp,y+yStep,然后重绘即可。

你按我说的方法重写一下,看看哪种方法好。

怎么用JAVA画正方形

外循环一个循环计数器i,列标记a,如果a=i则内循环打印黑色,如果ai则内循环打印白色的。我说的再详细点吧。伪代码

for( i=0 ia ; i++){

for (j=0 j=i;j++){

打印 i 次黑色方块

}else{

for(k=a-i k0;k--){

打印a-i次白色方块。

}

}

}

用java将二进制黑白像素点,画在正方形中

import java.applet.*;

import java.awt.*;

import java.awt.geom.*;

public class Text extends Applet

{

public void paint(Graphics g)

{

g.drawRect(0 ,0, 28,28);//画正方形

g.drawLine(3, 3, 9, 3);

g.drawLine(3, 3, 3, 9);

g.drawLine(5, 5, 9, 5);

g.drawLine(5, 5, 5, 9);

g.drawLine(7, 7, 9, 7);

g.drawLine(7, 7, 7, 9);

g.drawLine(8, 8, 9, 8);

g.drawLine(8, 8, 8 ,9);

g.drawLine(9, 9, 9, 9);

g.drawLine(25,3, 19, 3);

g.drawLine(25,3, 25,9);

g.drawLine(23,5, 19, 5);

g.drawLine(23,5, 23,9);

g.drawLine(21,7, 19, 7);

g.drawLine(21,7, 21,9);

g.drawLine(20,8, 19, 8);

g.drawLine(20,8, 20,9);

g.drawLine(19,9,19,9);

g.drawLine(3, 25, 5,25);

g.drawLine(3, 25, 3,23);

g.drawLine(4, 25, 5,25);

g.drawLine(4, 25, 4,23);

g.drawLine(5, 25, 5,25);

g.drawLine(5, 25, 5,23);

g.drawLine(7, 25, 7,21);

g.drawLine(3, 21, 7,21);

g.drawLine(9,25, 9,19);

g.drawLine(9,19,3,19);

g.drawLine(25,25,25,19);

g.drawLine(25,25,19,25);

g.drawLine(23,23,23,19);

g.drawLine(23,23,19,23);

g.drawLine(21,21,21,19);

g.drawLine(21,21,19,21);

g.drawLine(20,20,20,19);

g.drawLine(20,20,19,20);

g.drawLine(19,19,19,19);//画四个角的寻像图像

char[] c={1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

//输入一char型的字符串,实际上应该由程序1中获得

{

int j=3;

int i=12;

{

for (int n=0;n=4;n++)

switch (c[n])

{

case(1):

g.drawLine(n+i,j,n+i,j);

}

}

}//如果a[n]为1,则在正方形中画一个黑色像素点,i,j分别为正方形的横.纵坐标

//正方形是23*23像素的,一行画完了接着画下一行,底下的全是重复的画点程序,是按一行一行画的

{

int j=4;

int i=12;

{

for (int n=5;n=9;n++)

switch (c[n])

{

case(1):

g.drawLine(n-5+i,j,n-5+i,j);

}

}

}

{

int j=5;

int i=12;

{

for (int n=10;n=14;n++)

switch (c[n])

{

case(1):

g.drawLine(n-10+i,j,n-10+i,j);

}

}

}

{

int j=6;

int i=12;

{

for (int n=15;n=19;n++)

switch (c[n])

{

case(1):

g.drawLine(n-15+i,j,n-15+i,j);

}

}

}

{

int j=7;

int i=12;

{

for (int n=20;n=24;n++)

switch (c[n])

{

case(1):

g.drawLine(n-20+i,j,n-20+i,j);

}

}

}

{

int j=8;

int i=12;

{

for (int n=25;n=29;n++)

switch (c[n])

{

case(1):

g.drawLine(n-25+i,j,n-25+i,j);

}

}

}

{

int j=9;

int i=12;

{

for (int n=30;n=34;n++)

switch (c[n])

{

case(1):

g.drawLine(n-30+i,j,n-30+i,j);

}

}

}

{

int j=10;

int i=12;

{

for (int n=35;n=39;n++)

switch (c[n])

{

case(1):

g.drawLine(n-35+i,j,n-35+i,j);

}

}

}

{

int j=11;

int i=12;

{

for (int n=40;n=44;n++)

switch (c[n])

{

case(1):

g.drawLine(n-40+i,j,n-40+i,j);

}

}

}

{

int j=12;

int i=3;

{

for (int n=45;n=67;n++)

switch (c[n])

{

case(1):

g.drawLine(n-45+i,j,n-45+i,j);

}

}

}

{

int j=13;

int i=3;

{

for (int n=68;n=90;n++)

switch (c[n])

{

case(1):

g.drawLine(n-68+i,j,n-68+i,j);

}

}

}

{

int j=14;

int i=3;

{

for (int n=91;n=113;n++)

switch (c[n])

{

case(1):

g.drawLine(n-91+i,j,n-91+i,j);

}

}

}

{

int j=15;

int i=3;

{

for (int n=114;n=136;n++)

switch (c[n])

{

case(1):

g.drawLine(n-114+i,j,n-114+i,j);

}

}

}

{

int j=16;

int i=3;

{

for (int n=137;n=159;n++)

switch (c[n])

{

case(1):

g.drawLine(n-137+i,j,n-137+i,j);

}

}

}

{

int j=17;

int i=12;

{

for (int n=160;n=164;n++)

switch (c[n])

{

case(1):

g.drawLine(n-160+i,j,n-160+i,j);

}

}

}

{

int j=18;

int i=12;

{

for (int n=165;n=169;n++)

switch (c[n])

{

case(1):

g.drawLine(n-165+i,j,n-165+i,j);

}

}

}

{

int j=19;

int i=12;

{

for (int n=170;n=174;n++)

switch (c[n])

{

case(1):

g.drawLine(n-170+i,j,n-170+i,j);

}

}

}

{

int j=20;

int i=12;

{

for (int n=175;n=179;n++)

switch (c[n])

{

case(1):

g.drawLine(n-175+i,j,n-175+i,j);

}

}

}

{

int j=21;

int i=12;

{

for (int n=180;n=184;n++)

switch (c[n])

{

case(1):

g.drawLine(n-180+i,j,n-180+i,j);

}

}

}

{

int j=22;

int i=12;

{

for (int n=185;n=189;n++)

switch (c[n])

{

case(1):

g.drawLine(n-185+i,j,n-185+i,j);

}

}

}

{

int j=23;

int i=12;

{

for (int n=190;n=194;n++)

switch (c[n])

{

case(1):

g.drawLine(n-190+i,j,n-190+i,j);

}

}

}

{

int j=24;

int i=12;

{

for (int n=195;n=199;n++)

switch (c[n])

{

case(1):

g.drawLine(n-195+i,j,n-195+i,j);

}

}

}

{

int j=25;

int i=12;

{

for (int n=0;n=4;n++)

switch (c[n])

{

case(1):

g.drawLine(n+i,j,n+i,j);

}

}

}

/*char b[]={0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0};

{

int j=11;

int i=3;

{

for (int n=0;n=9;n++)

switch (b[n])

{

case(1):

g.drawLine(n+i,j,n+i,j);

}

}

}

{

int j=25;

int i=11;

{

for (int n=0;n=9;n++)

switch (b[n])

{

case(1):

g.drawLine(i,j-n,i,j-n);

}

}

}*/

}

}

写一个java程序,使其画一个正方形并改变它的颜色(每秒钟改变一次)。求完整代码谢谢

按照你的要求,编写的Java程序如下

import java.awt.Color;

import java.awt.Graphics;

import javax.swing.JFrame;

public class F extends JFrame implements Runnable{

 Color[] colors = {Color.red,Color.orange,Color.yellow,Color.green,Color.cyan,Color.blue,Color.magenta,Color.black};  

 int i=0;

 F(){

  setTitle("变色正方形");

  setSize(400, 400);

  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  setLocationRelativeTo(null);

  setVisible(true);

 }

 public void paint(Graphics g){

  g.setColor(colors[i]);

  g.drawRect(100,100,200,200);

 }

 @Override

 public void run() {

  while(true){

   try {

    Thread.sleep(1000);

   } catch (InterruptedException e) {

    e.printStackTrace();

   }

   if(i7)

    i++;

   else

    i=0;

   repaint();

  }

 }

 public static void main(String[] args) {

  F f=new F();

  Thread t=new Thread(f);

  t.start();

 }

}

运行结果

java。draw一个正方形怎么正方形的边框加粗

Graphics2D g2d = (Graphics2D) g; //首先把g转换成g2d

g2d.setColor(Color.CYAN);//设置颜色,可以省略

g2d.setStroke(new BasicStroke(10.0f));//关键,设置画笔的宽度. 越大,边框越粗

g2d.drawRect(50, 50, 100, 100);//画矩形

关于java画正方形和java怎么画图形的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。