java编程 为何paint函数没有调用,如何调用paint函数

importjavax.swing.*;importjava.awt.*;publicclasshelloextendsJFrame{JButtonan1,an2;pub... import javax.swing.*;
import java.awt.*;
public class hello extends JFrame{
JButton an1,an2;

public void paint(Graphics g){

System.out.println("已经运行paint构造函数");
g.drawString("您好",10,10);
g.drawString("我叫",20,10);

}
public static void main(String [] args) {
hello H=new hello();
}
hello(){
JFrame n=new JFrame();

System.out.println("已经运行hello构造函数");
n.setLayout(null);
an1=new JButton("嗯");
n.setTitle("按钮事件");
n.setSize(300,200);
n.setLocation(500,400);
n.setVisible(true);

an1.setBounds(100,50,80,50);
n.add(an1);
n.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

控制台输出:已经运行hello构造函数
怎么才能运行paint函数呢
展开
 我来答
302652034_bai
2014-05-31 · TA获得超过4145个赞
知道大有可为答主
回答量:2206
采纳率:66%
帮助的人:1538万
展开全部
窗口显示的时候就自动调运一次,你直接在jframe上绘图是看不到的,因为jframe上有好几个的jpanel挡住了,jvm是不会绘制被挡住的控件的
追问
那这种问题如何解决
还有为什么我调试时
paint貌似没有运行
System.out.println("已经运行paint构造函数");
这句没有输出
追答
你需要在jframe里添加一个处于最上层的jpanel,然后重写,jpanel的paint的方法,或者你可以获取jframe的,conentpanel
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zaobao000
推荐于2016-03-17 · TA获得超过348个赞
知道小有建树答主
回答量:319
采纳率:100%
帮助的人:231万
展开全部
main函数里加一条

H.paint();
更多追问追答
追问
Graphics变量没有怎么声明
Graphics j;
H.paint(j);//这句话报错
追答
Graphics j = new Graphics();
试试这个
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友983ecdd
2018-06-12
知道答主
回答量:3
采纳率:0%
帮助的人:2698
展开全部

paint是默认调用的,你写在hello类中,把n去了就可以了  具体什么原因我也还在摸索,不能给出解释  希望能帮到你

public class pro extends JFrame {
JButton an1=new JButton("嗯");
JFrame n = new JFrame();

public static void main(String[] args) {
pro H = new pro();
}

pro() {
System.out.println("已经运行hello构造函数");
setLayout(null);
setTitle("按钮事件");
setSize(300, 200);
setLocation(500, 400);
setVisible(true);
add(an1);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
an1.setBounds(100, 50, 80, 50);
}

public void paint(Graphics g) {
super.paint(g);
System.out.println("已经运行paint构造函数");
g.drawString("您好", 10, 10);
g.drawString("我叫", 20, 10);
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式