java paint 画不出图像

显示的是一张白板importjava.awt.*;importjavax.swing.*;publicclassTDrawLine_3_4extendsJFrame{JF... 显示的是一张白板
import java.awt.*;
import javax.swing.*;
public class TDrawLine_3_4 extends JFrame{
JFrame jf = new JFrame();
public TDrawLine_3_4(){

jf.setVisible(true);
jf.setBounds(400,300,400,300);
jf.setLocation(600,300);
}
public void paint(Graphics g){
g.setColor(Color.GREEN);
g.draw3DRect(10, 10, 70, 70, true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new TDrawLine_3_4();
}

}
展开
 我来答
xjf5562
推荐于2017-10-13 · TA获得超过1190个赞
知道小有建树答主
回答量:896
采纳率:75%
帮助的人:742万
展开全部
paint()方法只针对当前类,你又在类内声明一个JFrame jf,这个jf不会用到你声明的paint()方法的。
你要把构造方法中的jf.删除,或更改成this.
public TDrawLine_3_4(){

setVisible(true);
setBounds(400,300,400,300);
setLocation(600,300);
}
这样就把当前类显示出来了,并会调用paint()方法。
照你上面的写法,是声明了2个JFrame,并把不需要的一个显示了出来,当前编写的JFrame根本没有显示。
a1b2c3d4808
2015-04-01 · 超过13用户采纳过TA的回答
知道答主
回答量:63
采纳率:0%
帮助的人:25.3万
展开全部
你的paint(Graphics g)实例方法并没有进行调用
追问
不是自动调用吗?我调用的时候报错,找不到Graphics对象
追答
是的,之前回答错误,
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.GREEN);
g.draw3DRect(10, 10, 70, 70, true);
}

应该是这样吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-04-01
展开全部
第一次看到类名里用下划线,不报错么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式