Java里面的一个简单问题 图形界面 按钮

[复制链接]
查看11 | 回复3 | 2008-11-7 04:14:24 | 显示全部楼层 |阅读模式
/*???这里怎么改才可以单击按钮后在窗体上显示文字??*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JButtonDemo extends JFrame
{

public JButtonDemo()

{

super("JButtonDemo");

Container c=getContentPane();

c.setLayout(new FlowLayout());

setSize(400,200);
JLabel label1=new JLabel(":Hello");
c.add( label1 );
JButton button2=new JButton("确定");

button2.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{
this.setText("ddddd");/*???这里怎么改才可以单击按钮后在窗体上显示文字??*/



}
});
c.add(button2);
JButton button1=new JButton("退出");

button1.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

System.exit(0);

}
});
c.add(button1);
setVisible(true);
}

public static void main(String args[])

{

JButtonDemo testJButtonDemo=new JButtonDemo();

}
}

回复

使用道具 举报

千问 | 2008-11-7 04:14:24 | 显示全部楼层
this.setText("ddddd");注意这句的this 其实这个this指的是那个ActionListener 并不是button2 自然无法更改button2的文本改成这样就可以了((JButton)e.getSource()).setText("ddddd");...
回复

使用道具 举报

千问 | 2008-11-7 04:14:24 | 显示全部楼层
你用的是linux操作系统吗,我在linux下遇到这问题在windows 下没有遇到过...
回复

使用道具 举报

千问 | 2008-11-7 04:14:24 | 显示全部楼层
把程序调试一下,它会提示你监听代码为内部类,访问局部变量label1不合法,须把label声明为final最终类型。我认为生命为finl太国死板,程序扩展性不好。我觉得应该把JLabel的声明放在构造函数外部,声明为全局变量。然后在构造函数内部创建对象。 public class JButtonDemo extends JFrame { JL...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行