一个关于java Swing的简单问题?

有这样一段程序:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;/*<appletcode="JB... 有这样一段程序:
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

/*
<applet code="JButtonDemo" width = 250 height = 300>
</applet>
*/
public class JButtonDemo extends JApplet
implements ActionListener{
JTextField jtf;
public void init(){
Container contentPane =getContentPane();
contentPane.setLayout(new FlowLayout());
ImageIcon france = new ImageIcon("france.jpg");
JButton jb = new JButton(france);
jb.setActionCommand("France");
jb.addActionListener(this);
contentPane.add(jb);
jtf = new JTextField(15);
contentPane.add(jtf);
}
@Override
public void actionPerformed(ActionEvent ae) {
// TODO Auto-generated method stub
jtf.setText(ae.getActionCommand());

}
}
我有几个地方不明白:
1: jb.addActionListener(this);括号中的this 是什么意思,只可以写this吗?
2:如果要执行此程序时,程序从哪一行开始执行?
谢谢了!!!
程序不是从main() 方法开始执行的吗?可是这里也没有main()方法啊?
展开
 我来答
menghuan8465
2011-01-26 · TA获得超过658个赞
知道小有建树答主
回答量:247
采纳率:0%
帮助的人:201万
展开全部
this应该是要添加事件监听的对象即本身,通过点击来实现监听,也可以不用this换成actionPerformed中的参数也行。
main()是一切程序的头,不论是什么程序都是从main()开始执行,如果执行过的话,是从上倒下的顺序来执行的,当然中间没有方法的调用,就你的这一段程序应该是从上开始执行,然后当执行到jb.addActionListener(this);
的时候呢,接着跳到 public void actionPerformed(ActionEvent ae)中执行,通过我多年的了解应该就是这样执行的,你可以运行一下试试看,在jb.addActionListener(this);
的上部和下部做一个标记,比如:System.out.println("1");等,来让程序输出看看是否执行。
aflyhorse1990
2011-01-26 · TA获得超过979个赞
知道小有建树答主
回答量:1016
采纳率:0%
帮助的人:713万
展开全部
从init()入口函数开始执行
this指代本窗体
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9fb49a8
2011-01-26 · TA获得超过137个赞
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:90.8万
展开全部
1.this你就理解为是给jb这个按钮加(想成this JButton)动作监听器就可以了,实在转牛角尖的话可以去看看java关键字this的含义
2.淡然是init()了,这是japplet的初始化啊,最基本的方法
看来没有怎么学好swing呢.....再去看看applet和japplet以及一些控件的用法吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式