一个很弱智的事件处理问题,进来看看有多弱智嘿嘿

红烧蹄膀饭 2008-02-24 05:35:44
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;


class textDemo extends JFrame{

public textDemo(String title){
super(title);

Container c=getContentPane();
c.setLayout(new FlowLayout());
JRadioButton rad1=new JRadioButton("我");
c.add(rad1);
JRadioButton rad2=new JRadioButton("你");
c.add(rad2);
JButton jb=new JButton("统计下");

jb.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e){
JRadioButton rad1=new JRadioButton("我");
if(rad1.isSelected()){
rad1.setText("hello");
}
}
});

c.add(jb);
setSize(300,250);
setVisible(true);
}
public static void main(String args[])
{
textDemo td=new textDemo("测试下");

}
}

为什么点击按钮文本却没有改变呢?,给个答案吧
...全文
83 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
magic256 2008-02-24
  • 打赏
  • 举报
回复
紫竹前辈正解。。。。
老紫竹 2008-02-24
  • 打赏
  • 举报
回复
1 在内部匿名类,你不能再构造一次了,应该使用父类的。
2 内部类只能使用父类的类一级变量或者final的局部变量
package test.swing;

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JRadioButton;

class TextDemo extends JFrame {

public TextDemo(String title) {
super(title);
Container c = getContentPane();
c.setLayout(new FlowLayout());
final JRadioButton rad1 = new JRadioButton("我");
c.add(rad1);
JRadioButton rad2 = new JRadioButton("你");
c.add(rad2);
JButton jb = new JButton("统计下");
jb.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
System.out.println("1");
// JRadioButton rad1 = new JRadioButton("我");
if (rad1.isSelected()) {
rad1.setText("hello");
}
}
});
c.add(jb);
setSize(300, 250);
setVisible(true);
}

public static void main(String args[]) {
TextDemo td = new TextDemo("测试下");
}
}

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧