当前位置: 代码迷 >> Java相关 >> 为什么在jpanel中看不到我画的东西
  详细解决方案

为什么在jpanel中看不到我画的东西

热度:187   发布时间:2005-09-28 02:05:00.0
为什么在jpanel中看不到我画的东西
import javax.swing.*;
import java.awt.*;


public class KK
{
public static void main(String[] args)
{
JFrame jf=new JFrame();

JPanel jp=new JPanel();

Graphics g=jp.getGraphics();
int gWidth = jp.getWidth();
int gHeight = jp.getHeight();


jf.setContentPane(jp);
jf.setSize(500,500);

jf.show();

g.setColor(Color.RED);

g.fillOval(200, 100, 100, 40);
}
}
搜索更多相关的解决方案: jpanel  import  int  public  java  

----------------解决方案--------------------------------------------------------
[CODE]

import javax.swing.*;

import java.awt.*;



public class KK extends JPanel

{

  public void paint(Graphics g)

  {

    g.setColor(Color.RED);

    g.fillOval(200, 100, 100, 40);

  }



  public static void main(String[] args)

  {

    JFrame jf=new JFrame();

    KK kk = new KK();



    jf.setContentPane(kk);

    jf.setSize(500,500);

    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

   
jf.setVisible(true);               

  }

}

[/CODE]


[此贴子已经被作者于2005-9-28 12:58:07编辑过]



----------------解决方案--------------------------------------------------------
你只是没有把它显示出来吧,要用setVisual(true);默认的是false.
----------------解决方案--------------------------------------------------------
汗,你没认真看程序吧?他写了show的。。。
----------------解决方案--------------------------------------------------------
show 有用么????
真正显示是用setVisual(true);吧
----------------解决方案--------------------------------------------------------

谢谢你门的回答。。我有1点不是很明白。。。你的paint方法不是静态的方法。。也不是构造方法。。 不明白为什么你在程序中不用调用这个方法他就能运行。。。还有。。。我的方法还是看不出哪里错了


----------------解决方案--------------------------------------------------------
wuguohua_1, 你的问题问得好,你的问题问到了paint 函数的本质,你是不是知道,repaint() 函数调用的时候,发生了事情?还有那个 setVisible 调用的时候,发生了什么事情?如果你清楚了这两个问题,你就知道为什么了。
----------------解决方案--------------------------------------------------------
http://java.sun.com/j2se/1.5.0/docs/api/index
你自己先看看这个连接,我过一会儿再来和你说。
----------------解决方案--------------------------------------------------------
applet中的repaint方法我知道。。他是调用update()方法和paint()方法

setvisible我原来看的资料说是让框架变成可见;

这样的理解不知道对不对。。。

我先看你给的资料。。不过我想你可能还是要帮我说下。。我的英文水平不是很高。。现在还在努力提高中



----------------解决方案--------------------------------------------------------
paint 方法不是独立于一个对象的,相反它是从属于一个对象的,比如JPanel对象, 当JPanel对象被建立的时候,paint 方法就被自动调用了,同样当他们刷新的时候,paint 方法也会自动被调用。
----------------解决方案--------------------------------------------------------