8.JButton
效果:

点击“欢迎[W]”:

点击“日期[d]”:

点击“退出[q]”,程序结束
以上也可使用Alt+W/d/q来操作
package com.lvshitech.gui;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.util.Calendar;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
@SuppressWarnings("serial")
public class JButtonDemo extends JPanel implements ActionListener {
JButton b1, b2, b3;
static JLabel l1, l2;
JButtonDemo() {
l1 = new JLabel("这是一个演示按钮动作的程序", JLabel.CENTER);
l2 = new JLabel(" ", JLabel.CENTER);
b1 = new JButton("欢迎[w]");
b1.setMnemonic(KeyEvent.VK_W); // 设置按钮的快捷键为W,使用Alt+W选择按钮
b1.setActionCommand("welcome");
b2 = new JButton("日期[d]");
b2.setMnemonic(KeyEvent.VK_D); // 设置按钮的快捷键为D,使用Alt+D选择按钮
b2.setActionCommand("data");
b3 = new JButton("退出[q]");
b3.setMnemonic(KeyEvent.VK_Q); // 设置按钮的快捷键为Q,使用Alt+Q选择按钮
b3.setActionCommand("quit");
// 事件监听
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
// 将“按钮”组件添加到容器
add(b1);
add(b2);
add(b3);
}
/**
* 用于接收操作事件的侦听器接口。
* 在发生操作事件时,调用该对象的 actionPerformed 方法
* 即在点击按钮时调用ActionListener接口的覆写方法
*/
@Override
public void actionPerformed(ActionEvent e) {
Calendar c = Calendar.getInstance();
if (e.getActionCommand().equals("welcome")) {
l2.setText("欢迎进入Java世界!");
} else if (e.getActionCommand().equals("data")) {
l2.setText("今天是:" + c.get(Calendar.YEAR) + "年"
+ (c.get(Calendar.MONTH)+1) + "月"
+ c.get(Calendar.DAY_OF_MONTH) + "日");
} else {
System.exit(0); // 非零表示程序发生异常退出,0表示非异常退出
}
l2.setHorizontalAlignment(JLabel.CENTER);
}
public static void main(String[] args) {
JFrame frame = new JFrame("使用JButton");
Container c = frame.getContentPane();
c.add(new JButtonDemo(), BorderLayout.SOUTH);
c.add(l1, BorderLayout.NORTH);
c.add(l2, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 关闭窗口时结束程序
frame.pack(); // 根据组件的大小显示最佳窗口大小
frame.setVisible(true);
}
}

浙公网安备 33010602011771号