首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

怎样在窗体上画矩形?小弟我写的代码,大家帮小弟我看一下

2012-01-26 
怎样在窗体上画矩形?我写的代码,大家帮我看一下。/**ClassDemol.java**Createdon2007年4月5日,下午3:33**To

怎样在窗体上画矩形?我写的代码,大家帮我看一下。
/*
  *   ClassDemol.java
  *
  *   Created   on   2007年4月5日,   下午3:33
  *
  *   To   change   this   template,   choose   Tools   |   Template   Manager
  *   and   open   the   template   in   the   editor.
  */

package   hhh;

import   java.awt.Graphics;

/**
  *
  *   @author   Administrator
  */
public   class   ClassDemol   {
       
        /**   Creates   a   new   instance   of   ClassDemol   */
        public   ClassDemol()   {
        }

        private   int   x;

        private   int   y;

        private   int   width;

        private   int   height;

        public   void   init()   {
                width   =   60;
                height   =   60;
        }

        public   void   SetPosition(int   xPos,   int   yPos)   {
                x=xPos;
                y=yPos;
        }

        public   void   paint(Graphics   g)   {
                SetPosition(20,20);
                g.drawRect(x,y,width,height);
                g.drawString( "1的位置 "+x,20,100);
                g.drawString( "1的位置 "+y,20,120);
                                                             
                g.drawRect(x,y,width,height);
                g.drawString( "2的位置 "+x,170,100);
                g.drawString( "2的位置 "+y,170,120);
               
        }
       
       
}


/*
  *   Main.java
  *
  *   Created   on   2007年4月2日,   上午8:19
  *
  *   To   change   this   template,   choose   Tools   |   Template   Manager
  *   and   open   the   template   in   the   editor.
  */

package   hhh;

import   java.awt.*;

import   java.awt.event.*;

import   javax.swing.*;

import   java.io.*;

 


/**
  *
  *   @author   Administrator
  */
public   class   Main   extends   Frame{


       
        /**   Creates   a   new   instance   of   Main   */
        public   Main()   {
                super( "drawOval   Example ");  
                setSize(200,   200);  
                show();  
        }
       

        /**
          *   @param   args   the   command   line   arguments
          */
        public   static   void   main(String[]   args)   {
                //   TODO   code   application   logic   here
                Main   m   =   new   Main();
                ClassDemol   c   =   new   ClassDemol();
                c.init();
                c.paint(m.getGraphics());

        }
       
}


程序可以运行,但是矩形出不来,只出来窗体。
请大家告诉我,谢谢!


[解决办法]
我的感觉:是不是由于调用c.paint()的时候,其实窗体并没有显示完整,那么等到窗体完全显示出来之后又做了自动刷新,导致画上去的内容丢失了?试着override Frame.paint()方法,将你的图形绘画过程加到里面看看。
[解决办法]
CORE JAVA 的图形编程那一章里面有,椭圆。矩形都有。JAVA有直接的函数。不用这么麻烦的。
[解决办法]
override Frame里面的paint()方法是王道啊
[解决办法]
import java.awt.Graphics;

import java.awt.Frame;
import java.awt.Panel;
class ClassDemo extends Panel {


public ClassDemo() {
}

private int x;

private int y;

private int width;

private int height;

public void init() {
width = 60;
height = 60;
}

public void SetPosition(int xPos, int yPos) {
x=xPos;
y=yPos;
}

public void paint(Graphics g) {
SetPosition(20,20);
g.drawRect(x,y,width,height);
g.drawString( "1µÄλÖà "+x,20,100);
g.drawString( "1µÄλÖà "+y,20,120);

g.drawRect(x,y,width,height);
g.drawString( "2µÄλÖà "+x,170,100);
g.drawString( "2µÄλÖà "+y,170,120);

}


}




public class Main extends Frame{

public Main() {
super( "drawOval Example ");
setSize(200, 200);
show();
}


public static void main(String[] args) {
Main m = new Main();

ClassDemo c = new ClassDemo();
c.init();


m.add(c);

}

}

帮你改了下,
[解决办法]
楼上的改的对

热点排行