每天一点儿java-button
<pre name="code" class="java">import java.awt.*;
import java.awt.event.*;
import javax.swing.AbstractButton;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.ImageIcon; /**
* <p>Title: button演示</p>
* <p>Description: 提供一个button的演示。怎样实现button和是一个button失效</p>
* <p>Copyright: Copyright (c) 2014</p>
* <p>Filename: </p>
* @author 王海涛
* @version 0.1
*/
public class ButtonDemo extends JPanel
implements ActionListener {
protected JButton b1, b2, b3;
/**
*<br>方法说明:构造器,初始图形界面构建
*<br>输入參数:
*<br>返回类型:
*/
public ButtonDemo() { b1 = new JButton("失效中间button(D)");
b1.setVerticalTextPosition(AbstractButton.CENTER);//水平中间对齐
b1.setHorizontalTextPosition(AbstractButton.LEADING);//相当于LEFT
b1.setMnemonic(KeyEvent.VK_D);//将b1邦定alt+D键
b1.setActionCommand("disable"); b2 = new JButton("M中间button");
b2.setVerticalTextPosition(AbstractButton.BOTTOM);
b2.setHorizontalTextPosition(AbstractButton.CENTER);
b2.setMnemonic(KeyEvent.VK_M);//将b2邦定alt+M键 b3 = new JButton("E激活中间button");
b3.setMnemonic(KeyEvent.VK_E);//将b3邦定alt+E键
b3.setActionCommand("enable");
b3.setEnabled(false); //给1和3加入事件监听
b1.addActionListener(this);
b3.addActionListener(this);
//设置button提示文本
b1.setToolTipText("使中间的button失效。");
b2.setToolTipText("没有不论什么的事件发生! ");
b3.setToolTipText("使中间的button有效"); //将button加入到JPanel中
add(b1);
add(b2);
add(b3);
}
/**
*<br>方法说明:事件处理
*<br>输入參数:
*<br>返回类型:
*/
public void actionPerformed(ActionEvent e) {
if ("disable".equals(e.getActionCommand())) {
b2.setEnabled(false);
b1.setEnabled(false);
b3.setEnabled(true);
} else {
b2.setEnabled(true);
b1.setEnabled(true);
b3.setEnabled(false);
}
}
/**
*<br>方法说明:创建图标,
*<br>输入參数:String path 图标所在的路径
*<br>返回类型:ImageIcon 图标对象
*/
/**
*<br>方法说明:主方法
*/
public static void main(String[] args) {
//设置使用新的swing界面
JFrame.setDefaultLookAndFeelDecorated(true);
//创建一个窗口
JFrame frame = new JFrame("Button_Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//setSize(iWidth,iHeight);//设置窗口大小
//创建一个面板
ButtonDemo newContentPane = new ButtonDemo();
newContentPane.setOpaque(true);
frame.setContentPane(newContentPane);
//显示窗口
frame.pack();
frame.setVisible(true);
}
}
每天一点儿java-button的更多相关文章
- 深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)
作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-language- ...
- [转]深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)
以下内容转自: 作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-l ...
- Kotlin学习第一课:从对比Java开始
1. 介绍 今年初,甲骨文再次对谷歌所谓的安卓侵权使用Java提起诉讼,要求后者赔偿高达90亿美元.随后便传出谷歌因此计划将主力语言切换到苹果主导的Swift,不过这事后来没了跟进. 但谷歌在这两天的 ...
- 爽翻天!告别Java。一起来使用kotlin开发完整客户端
必须写在前面:从Java转向Kotlin,只需要几天时间! 本篇是kotlin开发Android系列教程的最后一篇.前面几篇介绍了kotlin的基本语法.与java的不同之处等.在本篇文章中,将使用到 ...
- 深入理解Java 8 Lambda(语言篇)
State of Lambda by Brian Goetz 原文链接:http://lucida.me/blog/java-8-lambdas-insideout-language-features ...
- Kotlin入门第一课:从对比Java开始
1. 介绍 今年初,甲骨文再次对谷歌所谓的安卓侵权使用Java提起诉讼,要求后者赔偿高达90亿美元.随后便传出谷歌因此计划将主力语言切换到苹果主导的Swift,不过这事后来没了跟进. 但谷歌在这两天的 ...
- WebView 加载网页和java 与js交互
[mw_shl_code=java,true]WebView是一个可以显示网页的控件.需求:通过WebView加载assets下的html文件.实现页面的缩放.向menu键添加:前进.后退和刷新,实现 ...
- [转载]深入理解Java 8 Lambda
原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-language-features/ 深入理解Java 8 Lambda(语言篇——lam ...
- Java题库——Chapter16 JavaFX UI组件和多媒体
Chapter 16 JavaFX UI Controls and Multimedia Section 16.2 Labeled and Label1. To create a label with ...
- Java 函数式编程(Lambda表达式)与Stream API
1 函数式编程 函数式编程(Functional Programming)是编程范式的一种.最常见的编程范式是命令式编程(Impera Programming),比如面向过程.面向对象编程都属于命令式 ...
随机推荐
- ADO.NET 操作数据库 --- 01 简单封装
由于我是Java转的C#开始的时候就用的NHihernate,和EF 对ADO.NET使用较少,现在封装一个ADO.NET的工具类来实现数据库的操作,比较简单,望大家多多提意见. 如果大家有什么学习中 ...
- android怎样实现自动点击功能
一个按钮之类的控件的自动点击的话,可以定时调用 button.performClick();
- Eclipse用法和技巧九:自动添加try/catch块2
上一篇介绍了如何给未检查异常快速增加try/catch语句,这里在补充一点其他相关操作.有时候我们增加了try/catch之后还需要在加一个finally块,比如android上每次分配一个curso ...
- [置顶] DX报表的开发流程(1)
DevExpress.XtraReports简称为DX报表. 本文主要介绍下VS2010项目中如何开发DX报表,具体的内容包括: (1)下载安装 (2)报表文件创建 (3)页面文件的创建 (4)页面的 ...
- 浅析js的执行顺序
javascript是一种描述型的脚本语言,是一种解析语言,由浏览器动态解析,不同种类的浏览器不同版本的浏览器对于js的解析有着微小的差别,不同浏览器的js解析引擎效率也有高低,下面来给大家分析一下j ...
- 如何关闭IE浏览器在生成原型时候的安全警告
在上一节中,我们学习了如何生成网页原型的三种方法,当时我们采用的默认浏览器,搜狗浏览器,没有弹出安全警告,一般情况下,如果你的浏览器是IE的话,在每次生成网页原型的时候都会弹出如下安全警告,如图: 暂 ...
- css3 animation动画事件
当使用css3时,会遇到利用@keyframes来定义动画事件,利用以下3个事件,能够捕捉当前元素的动画: AnimationEnd //动画结束时 AnimationStart //动画開始 An ...
- 简易的sniffer程序
真的非常简易,这个程序不过抓一些发送到本机的数据包,然后显示出来它们的一些信息罢了. 程序很easy! #include <WinSock2.h> #include ...
- MonkeyRunner 学习
monkeyrunner 本文档中包含 一个简单的monkeyrunner示例程序 monkeyrunner API简介 运行monkeyrunner monkeyrunner内建帮助 使用插件扩展m ...
- Oracle左连接、右连接示例
建表: create table a ( id ), name ) ); create table b ( name ), age ) ); create table c ( name ), dept ...