按钮 JButton 组件应用示例

//导入 javax.swing 包中的相关类
import javax.swing.AbstractButton;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.ImageIcon;
import java.awt.event.KeyEvent;
/*
* ButtonDemo.java 要求有以下的文件:
* images/right.gif
6
* images/middle.gif
* images/left.gif
*/
public class ButtonDemo {
protected JButton b1, b2, b3;
//创建三个按钮对象 b1,b2 和 b3
JFrame frame;
//声明窗体对象
JPanel contentPane;
//声明面板对象
public ButtonDemo() {
//构造器
//创建并设置窗口.
frame = new JFrame("ButtonDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
contentPane = new JPanel();
//创建面板对象
frame.setContentPane(contentPane); //将面板对象 contentPane 设为窗体的内容面板
//创建三个图片
ImageIcon leftButtonIcon = createImageIcon("images/right.gif");
ImageIcon middleButtonIcon = createImageIcon("images/middle.gif");
ImageIcon rightButtonIcon = createImageIcon("images/left.gif");
b1 = new JButton("使中间按钮不可用", leftButtonIcon);
//创建最左边显示的按钮对象
b1.setVerticalTextPosition(AbstractButton.CENTER);
//设置按钮上文本相对于图标的垂直位置
b1.setHorizontalTextPosition(AbstractButton.LEADING); //设置按钮上文本相对于图标的水平位置
b1.setMnemonic(KeyEvent.VK_D);
//设置按钮 b1 的键盘助记符为键 D
b1.setActionCommand("disable");
//设置此按钮的动作命令
b2 = new JButton("中间按钮", middleButtonIcon);
//创建中间显示的按钮对象
b2.setVerticalTextPosition(AbstractButton.BOTTOM);
//设置按钮上文本相对于图标的垂直位置
b2.setHorizontalTextPosition(AbstractButton.CENTER);
//设置按钮上文本相对于图标的水平位置
b2.setMnemonic(KeyEvent.VK_M);
//设置按钮 b2 的键盘助记符为键 D
b3 = new JButton("使中间按钮可用", rightButtonIcon);
//创建右边显示的按钮对象
//使用默认的文本位置(居中)
b3.setMnemonic(KeyEvent.VK_E);
//设置按钮 b3 的键盘助记符为键 D
b3.setActionCommand("enable");
//设置此按钮的动作命令
b3.setEnabled(false);
//禁用此按钮
// 设置按钮上的工具提示
b1.setToolTipText("单击这个按钮使中间按钮不可用.");
b2.setToolTipText("当单击时,这个中间按钮什么都不做.");
b3.setToolTipText("单击这个按钮使中间按钮可用.");
}
/* 返回一个 ImageIcon, 或者如果文件路径无效,返回 null. */
protected static ImageIcon createImageIcon(String path) {
java.net.URL imgURL = ButtonDemo.class.getResource(path); //获取要加载图像的路径
if (imgURL != null) {
return new ImageIcon(imgURL);
//返回加载的图像
} else {
//如果加载图像过程中出现异常
System.err.println("找不到文件: " + path);
//输出相关信息
return null;
//返回 null
}
}
// 创建 GUI 界面并显示.
private void createAndShowGUI() {
//将三个按钮添加到窗体的内容面板中.
contentPane.add(b1);
·7·
contentPane.add(b2);
contentPane.add(b3);
//显示窗口.
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
//为事件分发线程预订一个工作:创建并显示本程序的 GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
new ButtonDemo().createAndShowGUI();
}
});

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值