Java中如何对按钮编排程序? 尽量不用actionPerformed

 我来答
雪飞潇潇
2018-01-25 · TA获得超过6275个赞
知道大有可为答主
回答量:1968
采纳率:91%
帮助的人:872万
展开全部

java事件处理有很多种.

  • 按钮JButton的常规事件处理机制需要用到ActionListener 实现actionPerformed方法

  • 我们可以通过鼠标等事件来响应和处理, 可以不使用ActionListener

参考代码如下:

按钮0 使用的是常规的ActionListener 来实现

按钮1 使用的是MouseListener 来实现

import java.awt.event.*;
import javax.swing.*;

public class ButtonFrame extends JFrame {

JButton jb0,jb1;

public ButtonFrame() {
jb0 = new JButton("按钮0");
jb0.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
System.out.println("按钮0被点击了");
}
});
jb1 = new JButton("按钮1");
jb1.addMouseListener(new MouseListener() {

@Override
public void mouseReleased(MouseEvent e) {//鼠标释放
}

@Override
public void mousePressed(MouseEvent e) {
System.out.println("按钮1被按下了");

}

@Override
public void mouseExited(MouseEvent e) {//鼠标移除
// TODO Auto-generated method stub

}

@Override
public void mouseEntered(MouseEvent e) {//鼠标进入
// TODO Auto-generated method stub

}

@Override
public void mouseClicked(MouseEvent e) {//鼠标点击
// TODO Auto-generated method stub

}
});


JPanel jpc = new JPanel();
jpc.add(jb0);
jpc.add(jb1);
add(jpc);
// 窗口属性的设置
setTitle("窗口");// 窗口标题
setSize(152, 150);// 窗口宽 高
setLocationRelativeTo(null);// 窗口居中(屏幕中央)
setDefaultCloseOperation(EXIT_ON_CLOSE);// 点击窗口右上角的按钮时结束程序
}

public static void main(String[] args) {
new ButtonFrame().setVisible(true);
}
}

拓展思考:

除开鼠标事件, 常用的还有键盘事件, 比如一个JPanel 上面画 一辆小汽车,我们可以通过键盘的上下左右来控制 , 就需要让使用到键盘事件 的处理

神牛码农
2018-01-25 · 用技术行走在移动互联网时代
神牛码农
采纳数:297 获赞数:1178

向TA提问 私信TA
展开全部
他本来就是,不用 怎么写?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式