| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 452 人关注过本帖
标题:不能运行啊
只看楼主 加入收藏
wtyl0088
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2006-3-24
收藏
 问题点数:0 回复次数:2 
不能运行啊
import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;
import java.awt.event.*;
public class Work3 extends JFrame implements ActionListener{
protected JButton btn;
protected JLabel lbl;
public Work3(){
setTitle("beautifule avril");
setSize(200,200);
//ImageIcon icon1 =new ImageIcon("D:/myjava/tupian.nba.gif");
// ImageIcon icon2 =new ImageIcon("D:/myjava/tupian.avril1.gif");
JLabel lbl =new JLabel("oh oh",JLabel.BOTTOM);
JButton btn =new JButton("avril");
//btn.setVerticalTextPosition(AbstractButton.BOTTOM);
Container cp;
cp=getContentPane();
cp.add(lbl);
cp.add(btn);
btn.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
lbl.setText("hi my name is avril");
}
public static void main(String[] args){
Work3 work =new Work3();
work.show();

}
} 这个程序怎么编译通过了但不能运行
搜索更多相关主题的帖子: 运行 
2006-03-29 16:59
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;
import java.awt.event.*;
public class Work3 extends JFrame implements ActionListener{
protected JButton btn;
protected JLabel lbl;
public Work3(){
setTitle("beautifule avril");
setSize(200,200);
//ImageIcon icon1 =new ImageIcon("D:/myjava/tupian.nba.gif");
// ImageIcon icon2 =new ImageIcon("D:/myjava/tupian.avril1.gif");
lbl =new JLabel("oh oh");
JButton btn =new JButton("avril");
//btn.setVerticalTextPosition(AbstractButton.BOTTOM);
Container cp;
cp=getContentPane();
cp.add(lbl,BorderLayout.NORTH);
cp.add(btn,BorderLayout.SOUTH);
btn.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
lbl.setText("hi my name is avril");
}
public static void main(String[] args){
Work3 work =new Work3();
work.setVisible(true);

}
}


首先你这个程序,lbl先是设置成了全局变量,可是你在你的构造函数里面又定义了一次, 你这么做的后果是在调用事件函数的时候,你所持有的lbl的引用是空的,当然这个时候会产生异常
还有,你用了被列为过时的方法show,,我帮你改回为setVisible()了
还有,你构造JLabel的时候弄错了,JLabel是没有你写的那个的构造函数的
还有,你把对象加入容器中的时候,没有指定它的位置 ,这使得后加入的按钮把前加入的JLabel盖掉了
还有,不推荐你这样使用事件函数的方法,里面什么都没有判 断,直接设置lbl的值,这样不好

可惜不是你,陪我到最后
2006-03-29 17:38
wtyl0088
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2006-3-24
收藏
得分:0 
真是太感谢了 一定会努力得

2006-03-29 22:55
快速回复:不能运行啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045890 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved