「java画正方形」java怎么画图形
本篇文章给大家谈谈java画正方形,以及java怎么画图形对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java编程:怎么画一个正方形?
- 2、JAVA J2M在屏幕上绘制一个黑色正方形
- 3、怎么用JAVA画正方形
- 4、用java将二进制黑白像素点,画在正方形中
- 5、写一个java程序,使其画一个正方形并改变它的颜色(每秒钟改变一次)。求完整代码谢谢
- 6、java。draw一个正方形怎么正方形的边框加粗
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怎么画图形的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。