| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 757 人关注过本帖
标题:关于FocusListener监听问题
只看楼主 加入收藏
卷心菜
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-6-25
收藏
 问题点数:0 回复次数:4 
关于FocusListener监听问题
我做了两个单选按钮,想点击某个的时候获得其值.比方说我想获得all的”所有人”程序如下,可是测试了很久一直找不到正确的方法,谁能帮我看看吗?
paramString()不行,点all输出的是n1的内容,而且内容很长.
import java.net.*;
import java.awt.event.*;
import java.awt.*;
import java.sql.*;

public class Test implements FocusListener{
public void dd() {
CheckboxGroup nlst = new CheckboxGroup();
Checkbox all = new Checkbox("所有人", nlst, false);
Checkbox n1 = new Checkbox("测试", nlst, false);

all.addFocusListener(this);
n1.addFocusListener(this);

Label lab=new Label("");
lab.setBackground(Color.lightGray);
System.out.print(all.getLabel());
Panel p=new Panel();
Frame f=new Frame("hi");
f.setSize(300,300);
p.add(all);
p.add(n1);
p.add(lab);
f.add(p);
f.setVisible(true);

}

public static void main(String[] args) {
Test t = new Test();
t.dd();
}
public void focusGained(FocusEvent e) {
System.out.println(e.paramString());
}

public void focusLost(FocusEvent e) {
}
}
搜索更多相关主题的帖子: import java awt Checkbox 监听 
2006-06-25 15:21
private
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-5-1
收藏
得分:0 
import java.net.*;
import java.awt.event.*;
import java.awt.*;
import java.sql.*;

public class Test implements FocusListener{ //不要用聚焦监听
public void dd() {
CheckboxGroup nlst = new CheckboxGroup();
Checkbox all = new Checkbox("所有人", nlst, false); //两个都是复选按钮。
Checkbox n1 = new Checkbox("测试", nlst, false);

all.addFocusListener(this);
n1.addFocusListener(this);

Label lab=new Label("");
lab.setBackground(Color.lightGray);
System.out.print(all.getLabel()); // all是按钮,用all.getText();
Panel p=new Panel();
Frame f=new Frame("hi");
f.setSize(300,300);
p.add(all);
p.add(n1);
p.add(lab);
f.add(p);
f.setVisible(true);

}

public static void main(String[] args) {
Test t = new Test();
t.dd();
}
public void focusGained(FocusEvent e) {
System.out.println(e.paramString());
}

public void focusLost(FocusEvent e) {
}
}
问题很多需要重写

2006-06-25 15:33
private
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2006-5-1
收藏
得分:0 

import javax.swing.*;
public Test extends JFrame implements ItemListener{
private JPanel p;
private JRadioButton all,n1;
private ButtonGroup nlst;
public Test()
{
super("hi");
Container container = getContentPane();

all = new JRadioButton( "所有人",false );
n1 = new JRadioButton( "测试",false );

nlst = new ButtonGroup();
nlst.add(all);
nlst.add(n1);

p = new JPanel();
p.add( all );
p.add( n1 );

container.add( p );

all.addItemListener( this );
n1.addItemListener( this );

setSize( 400,300 );
setVisible( true );
}
public static void main(String[] args)
{
Test t = new Test();
t.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
public void itemStateChanged( ItemEvent event )
{
//这里写上你要的功能
if(event.getSource() == all)
//这里你想做的
if(event.getSource() == n1)
//这里你想做的
}
}


2006-06-25 16:01
水影月圆
Rank: 4
等 级:贵宾
威 望:11
帖 子:738
专家分:0
注 册:2005-8-2
收藏
得分:0 

private写的是对的
FocusListener和ItemListener都一个样 没什么大的区别

在你的程序里
System.out.println(e.paramString());
e.paramString()是什么 它能得到你要的值吗?不可能的

你应该判断下
if(e.getSource() == all)
{
System.out.println(all.getLabel());
}
else
{
System.out.println(n1.getLabel());
}


子非鱼,安知鱼之江湖?子非我,安知我之功夫 http://20681.
2006-06-25 16:10
卷心菜
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-6-25
收藏
得分:0 
谢谢大家
这个问题解决了.
Checkbox u_id = (Checkbox) e.getComponent();
u_id.getLabel();
这样也能得到值.
2006-06-25 16:57
快速回复:关于FocusListener监听问题
数据加载中...
 
   



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

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