JButton一个事件添加多个监听器

powers7 2008-07-21 10:13:07
我写了一个关于汇率转换的一个java程序有两个JTextField(tf1,tf2)tf1中获取的tf1.getText()通过计算将结果赋给tf2.setText();还有一个JButton触发这个事件,美元(tf1)______人民币(tf2)_____转换(JButton)我想输入人民币将数字通过汇率转换成美元,输入美元通过汇流处转换成人民币。通过JButton触发这个事件。如何编写事件。
...全文
451 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
powers7 2008-07-21
  • 打赏
  • 举报
回复
用==这个不行吗??
365810247 2008-07-21
  • 打赏
  • 举报
回复


if(!(tf1.getText().equals(""))&&(tf1.getText().equals(""))){
//处理 人民币将数字通过汇率转换成美元
}else if((tf1.getText().equals(""))&&!(tf1.getText().equals(""))){
//处理 美元通过汇流处转换成人民币
}else{
//人民币与美元之间的互相转换 不能同时为空.请输入你要转换的人民币或美元
}
powers7 2008-07-21
  • 打赏
  • 举报
回复
有错误!!只能进行美元对人民币转换,进行人民币兑美元的转换就出错误。
ArthurCX 2008-07-21
  • 打赏
  • 举报
回复
恩恩,单击按钮的时候,在事件里面判断,一个有值,一个没值的话,就转换,两个都没值,就提醒·····
365810247 2008-07-21
  • 打赏
  • 举报
回复


if(!(tf1.getText().equals(""))&&(tf1.getText().equals(""))){
//处理 人民币将数字通过汇率转换成美元
}else if((tf1.getText().equals(""))&&!(tf1.getText().equals(""))){
//处理 美元通过汇流处转换成人民币
}else{
//人民币与美元之间的互相转换 不能同时为空.请输入你要转换的人民币或美元
}

minidayly 2008-07-21
  • 打赏
  • 举报
回复
说说我的思路。
1.控制tf1和tf2的输入,当输入tf1时,tf2就控制不能输入了。反之,也一样。(键盘事件控制)
2.在触发JButton事件时,排除同时为空的情况。就可以通过判断,当tf1为空时,就可以进行人民币兑换。当tf2为空时,就可以进行美元兑换。

或者
你把输入部分的判断放在触发JButton事件时去处理。
sjkof 2008-07-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 powers7 的回复:]
但是根据一个为空,一个有值计算也有问题啊!!
[/Quote]

有什么问题?
powers7 2008-07-21
  • 打赏
  • 举报
回复
但是根据一个为空,一个有值计算也有问题啊!!
ZangXT 2008-07-21
  • 打赏
  • 举报
回复
相互转换的话肯定不能两个输入框同时填,根据一个为空,一个有值计算。 
多媒体处理包括多媒体技术的描述及其实现的源代码还有他的图品作品import java.applet.AudioClip; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.net.*; // 声音播放程序 public class AudioPlayDemo extends JFrame implements ActionListener, ItemListener { boolean looping = false; //是否循环播放 String[] choics = { "chimes.wav", "start.wav" }; //声音文件名数组 URL file1 = getClass().getResource(choics[0]); //声音文件1 URL file2 = getClass().getResource(choics[1]); //声音文件2 AudioClip sound1 = java.applet.Applet.newAudioClip(file1); //声音剪辑对象1 AudioClip sound2 = java.applet.Applet.newAudioClip(file2); //声音剪辑对象2 AudioClip chosenClip = sound1; //选择的声音剪辑对象 JComboBox jcbFiles = new JComboBox(choics); //文件选择组合框 JButton playButton = new JButton("播放"); //播放按钮 JButton loopButton = new JButton("循环播放"); //循环播放按钮 JButton stopButton = new JButton("停止"); //停止播放按钮 JLabel status = new JLabel("选择播放文件"); //状态栏标签 JPanel controlPanel = new JPanel(); //控制面板用于包容按钮 Container container = getContentPane(); //获得窗口内容窗格 public AudioPlayDemo() { //构造器 super("声音播放程序"); //调用父类构造器设置窗口标题栏 jcbFiles.setSelectedIndex(0); //设置组合框选择项 jcbFiles.addItemListener(this); //为播放按钮添加项目监听器 //为播放按钮、循环播放按钮、停止播放按钮添加动作监听器 playButton.addActionListener(this); loopButton.addActionListener(this); stopButton.addActionListener(this); stopButton.setEnabled(false); //设置停止播放按钮不可用 //把播放按钮、循环播放按钮、停止播放按钮加入控制面板 controlPanel.add(playButton); controlPanel.add(loopButton); controlPanel.add(stopButton); //把文件选择组合框、控制面板、状态栏标签加入到窗口内容窗格 container.add(jcbFiles, BorderLayout.NORTH); container.add(controlPanel, BorderLayout.CENTER); container.add(status, BorderLayout.SOUTH); setSize(300, 130); //设置窗口大小 setVisible(true); //设置窗口可视 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序 } //文件选择组合框事件处理 public void itemStateChanged(ItemEvent e) { if (jcbFiles.getSelectedIndex() == 0) { chosenClip = sound1; } else { chosenClip = sound2; } } //按钮事件处理 public void actionPerformed(ActionEvent event) { if (chosenClip == null) { status.setText("声音未载入"); return; //如果AudioClip对象为空,则直接返回 } Object source = event.getSource(); //获取用户洗涤激活的按钮 //播放按钮事件处理 if (source == playButton) { stopButton.setEnabled(true); //设置停止播放按钮可用 loopButton.setEnabled(true); //设置循环播放按钮可用 chosenClip.play(); //播放选择的声音剪辑对象一次 status.setText("正在播放"); //设置状态栏信息 } //循环播放按钮事件处理 if (source == loopButton) { looping = true; chosenClip.loop(); //循环播放选择的声音剪辑对象 loopButton.setEnabled(false); //设置循环播放按钮不可用 stopButton.setEnabled(true); //设置停止播放按钮可用 status.setText("正在循环播放"); //设置状态栏信息 } //停止播放按钮事件处理 if (source == stopButton) { if (looping) { looping = false; chosenClip.stop(); //停止循环播放选择的声音剪辑对象 loopButton.setEnabled(true); //设置循环播放按钮可用 } else { chosenClip.stop(); //停止播放选择的声音剪辑对象 } stopButton.setEnabled(false); //设置循环播放按钮可用 status.setText("停止播放"); //设置状态栏信息 } } public static void main(String s[]) { new AudioPlayDemo(); //创建AudioPlayDemo对象 } }

62,614

社区成员

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

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