java swing小程序的问题

我编了个小程序,代码如下:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;classButtonD... 我编了个小程序,代码如下:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class ButtonDemo implements ActionListener{
JLabel jlab;
ButtonDemo(){
JFrame jfrm = new JFrame("牛叉的按钮实例");
jfrm.setLayout(new FlowLayout());
jfrm.setSize(100,90);
jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton jbtnUp = new JButton("向上");
JButton jbtnDown = new JButton("向下");
jbtnUp.addActionListener(this);
jbtnDown.addActionListener(this);
jfrm.add(jbtnUp);
jfrm.add(jbtnDown);
jlab = new JLabel("按下按钮吧~");
jfrm.add(jlab);
jfrm.setVisible(true);
}
public void actionperformed(ActionEvent ae){
if(ae.getActionCommand().equals("Up"))
jlab.setText("你正在上升~");
else
jlab.setText("你正在下降~");
}
public static void main(String args[]) {
SwingUtilities.invokeLater(new Runnable() {
public void run(){
new ButtonDemo();
}
});
}
}
但是按钮相应事件出问题了.....求改正方法
展开
 我来答
未来需努力点缀
2013-07-07 · TA获得超过4679个赞
知道大有可为答主
回答量:850
采纳率:50%
帮助的人:529万
展开全部

lz  你太粗心了


看注释吧:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ButtonDemo implements ActionListener{
JLabel jlab;
JButton jbtnUp;
//actionPerformed()方法中要使用这个变量  所以最好是设为类成员
JButton jbtnDown;

public ButtonDemo(){
JFrame jfrm = new JFrame("牛叉的按钮实例");
jfrm.setLayout(new FlowLayout());
jfrm.setSize(100,150);
jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jbtnUp = new JButton("向上");
jbtnDown = new JButton("向下");
jbtnUp.addActionListener(this);
jbtnDown.addActionListener(this);

jfrm.add(jbtnUp);
jfrm.add(jbtnDown);
jlab = new JLabel("按下按钮吧~");
jfrm.add(jlab);
jfrm.setVisible(true);
}
public void actionPerformed(ActionEvent ae){//actionPerformed 的p应该大写
if(ae.getSource() == jbtnUp)//如果按下jbtnUp按钮  就显示上升
jlab.setText("你正在上升~");
else
       jlab.setText("你正在下降~");
}
public static void main(String args[]) {
SwingUtilities.invokeLater(new Runnable()  {
public void run(){
new ButtonDemo();
}
});
}
 }



希望能帮助你哈

Adol1111
2013-07-07 · TA获得超过948个赞
知道小有建树答主
回答量:218
采纳率:0%
帮助的人:329万
展开全部
	//actionPerformed不是actionperformed
public void actionPerformed(ActionEvent ae){
//getActionCommand()是与按键内的文字相等,你写的是向上不是up
if(ae.getActionCommand().equals("向上"))
jlab.setText("你正在上升~");
else
       jlab.setText("你正在下降~");
}

public void actionPerformed(ActionEvent ae){
        //getSource()是表示获取的对象,所以与jbtnUp比较
        if(ae.getSource() == jbtnUp)
            jlab.setText("你正在上升~");
        else
           jlab.setText("你正在下降~");
    }

2种方法都可以,不过第二种要与对象比较,所以jbtnUp必须是类的成员,让它在任何地方都可以获取到

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式