Java GUI之事件监听与处理

事件监听和处理的根本技术,是回调。甲方提供接口,乙方实现接口并调用相应方法。


package com.sinosuperman.driver; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; public class MainBench { public static void main(String[] args) { JFrame frame = new MyFrame(); } } class MyFrame extends JFrame { private static final long serialVersionUID = 1L; Toolkit tk = Toolkit.getDefaultToolkit(); Dimension d = tk.getScreenSize(); JPanel panel; public MyFrame() { panel = new MyPanel(); this.add(panel); this.setSize((int) d.getWidth() / 2, (int) d.getHeight() / 2); this.setLocation((int) (d.getWidth() - this.getWidth()) / 2, (int) (d.getHeight() - this.getHeight()) / 2); this.setResizable(false); this.setVisible(true); } } class MyPanel extends JPanel implements ActionListener { private static final long serialVersionUID = 5263963243638550398L; JButton okBtn; JButton exitBtn; public MyPanel() { this.setLayout(new FlowLayout(FlowLayout.CENTER)); okBtn = new JButton("OK"); exitBtn = new JButton("Exit"); okBtn.addActionListener(this); exitBtn.addActionListener(this); this.add(okBtn); this.add(exitBtn); } public void actionPerformed(ActionEvent e) { Object source = e.getSource(); if (source == okBtn) { JOptionPane.showMessageDialog(null, "You click the OK Button."); } else { JOptionPane.showMessageDialog(null, "You click the Exit Button."); System.exit(0); } } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值