一个关于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()方法啊? 展开
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()方法啊? 展开
展开全部
this应该是要添加事件监听的对象即本身,通过点击来实现监听,也可以不用this换成actionPerformed中的参数也行。
main()是一切程序的头,不论是什么程序都是从main()开始执行,如果执行过的话,是从上倒下的顺序来执行的,当然中间没有方法的调用,就你的这一段程序应该是从上开始执行,然后当执行到jb.addActionListener(this);
的时候呢,接着跳到 public void actionPerformed(ActionEvent ae)中执行,通过我多年的了解应该就是这样执行的,你可以运行一下试试看,在jb.addActionListener(this);
的上部和下部做一个标记,比如:System.out.println("1");等,来让程序输出看看是否执行。
main()是一切程序的头,不论是什么程序都是从main()开始执行,如果执行过的话,是从上倒下的顺序来执行的,当然中间没有方法的调用,就你的这一段程序应该是从上开始执行,然后当执行到jb.addActionListener(this);
的时候呢,接着跳到 public void actionPerformed(ActionEvent ae)中执行,通过我多年的了解应该就是这样执行的,你可以运行一下试试看,在jb.addActionListener(this);
的上部和下部做一个标记,比如:System.out.println("1");等,来让程序输出看看是否执行。
展开全部
从init()入口函数开始执行
this指代本窗体
this指代本窗体
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.this你就理解为是给jb这个按钮加(想成this JButton)动作监听器就可以了,实在转牛角尖的话可以去看看java关键字this的含义
2.淡然是init()了,这是japplet的初始化啊,最基本的方法
看来没有怎么学好swing呢.....再去看看applet和japplet以及一些控件的用法吧
2.淡然是init()了,这是japplet的初始化啊,最基本的方法
看来没有怎么学好swing呢.....再去看看applet和japplet以及一些控件的用法吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询